정의 AOP는 핵심 관심사(core concerns)에서 공통 관심사(cross-cutting concerns)를 분리시키는 프로그래밍 기법으로, 공통 관심사를 추상화하고 캡슐화합니다. 공통 관심사 (Cross-cutting concerns) 공통 관심사는 로깅, 검증, 트랜잭션, 시간측정과 같이, 서로 다른 메서드들에 공통적으로 반복되고, 모듈 자체에서 완전한 리팩토링할 수 없는 코드를 의미합니다. AOP 주요 개념 Aspect - 모듈화한 공통 관심사 Join point - 프로그램 실행 중 한 시점, Spring AOP에서는 메서드 실행 pointcut - join point을 식별 Advice - pointcut에 의해 선택된 join point에 실행할 코드, cross-cutting conce..