한글로 번역하면 관심 지향 프로그래밍이다.

예를들어, 부모의 교육 방식은 제각각 다르지만 공통되는 부분이 있다.
바로 건강이다.
이처럼 부모의 공통 관심사가 있는 것처럼 애플리케이션에 필요한 기능 중에서 공통적으로 적용되는 공통 기능에 대한 관심과 관련이 있다.
애플리케이션 전반에 공통적으로 사용되는 기능들이 있기 마련이다.
이런 관심사를 공통 관심 사항(Cross-cutting concern)이라고 한다.
그리고 우리가 흔히 말하는 비즈니스 로직 즉, 애플리케이션의 주목적을 달성하기 위한 핵심 로직에 대한 관심사를 핵심 관심 사항(Core concern)이라고 한다.
핵심 관심 사항에 반대되는 개념으로 공통 관심 사항을 부가적인 관심 사항이라고 표기하기도 한다.
AOP라는 것은 애플리케이션의 핵심 업무 로직에서 로깅이나 보안, 트랜잭션 같은 공통 기능 로직들을 분리하는 것이라고 생각하면 된다.
코드의 간결성 유지
객체 지향 설계 원칙에 맞는 코드 구현
코드의 재사용
AOP(Aspect Oriented Programming)는 관심 지향 프로그래밍이다.
AOP에서 의미하는 Aspect는 애플리케이션의 공통 관심사를 의미한다.
애플리케이션의 공통 관심사는 비즈니스 로직을 제외한 애플리케이션 전반에 걸쳐서 사용되는 공통 기능들을 의미한다.
애플리케이션 전반에 걸쳐서 사용되는 공통 기능에는 로깅, 보안, 트랜잭션, 모니터링, 트레이싱 등의 기능이 있다.
AOP를 애플리케이션에 적용해서 다음과 같은 이점을 누를 수 있다.