Aspect-Oriented Programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns, which are aspects of a program that affect multiple modules, such as logging or security. By using aspects, AOP enables developers to inject additional behavior into existing code without modifying the code itself, thus promoting cleaner and more maintainable codebases.