AOP란?핵심 비즈니스 로직과 부가적인 관심사(로깅, 트랜잭션, 보안 등)를 분리하여 모듈화하는 프로그래밍 기법관심사의 분리(Separation of Concerns, SoC)를 통해 코드의 재사용성, 유지보수성을 높인다AOP의 필요성로깅, 예외 처리, 트랜잭션 관리 등은 여러 클래스에서 반복적으로 등장한다.이를 각 클래스에 흩뿌려 두면 코드가 중복되고, 수정이 어려워진다.AOP를 사용하면 공통 기능을 한 곳에 모아 관리할 수 있다.AOP 핵심 용어Aspect: 공통 기능(로깅, 트랜잭션 등)을 모듈화한 단위Join Point: Advice가 적용될 수 있는 지점(메서드 실행 등)Pointcut: Join Point 중 실제 Advice가 적용될 지점을 지정Advice: 언제(언제 실행되는지: befor..