AOP는 Aspect Oriented Programming의 약자로, 관점 지향 프로그래밍이라고 합니다.
애플리케이션의 핵심적인 기능과 부가적인 기능을 분리해 Aspect라는 모듈로 만들어 설계하고 개발하는 방법입니다.
OOP는 Object Oriented Programming의 약자로 객체 지향 프로그래밍이라고 합니다.
OOP와 AOP는 서로 상반되는 개념은 아니며 오히려 OOP를 더욱 OOP답게 사용할 수 있도록 하는 것이 AOP입니다.