여러 메소드에 동일한 코드가 반복될 때 AOP를 적용할 수 있다. 예를 들어 로깅을 메소드의 호출 전/후에 간단하게 추가할 수 있다. AOP의 기본 개념 1. Aspect (관점) 여러 클래스나 기능에 걸쳐서 있는 관심사 (e.g. @Transactional, @Cacheable) 2. Advice (조언) AOP에서 실제로 적용하는 기능(로깅, 트랜잭션, 캐시, 인증 등) 3. Join point (연결 포인트) 특정 기능이 실행될 수 있는 연결 포인트 4. Pointcut (포인트 선택 방법) Join point 중에서 해당 Aspect를 적용(수행)할 대상을 뽑을 조건식 5. Target Object Advice가 적용될 대상 객체 6. AOP Proxy 대상 객체에 Aspect를 적용하는 경우 A..