일반적으로 사용하는 클래스(Service, DAO 등)에서 중복되는 공통 코드 부분(commit, rollback, log 처리)을 별도의 영역으로 분히
소스 코드의 중복을 줄이고 필요할 때마다 가져다 쓸 수 있게 객체화하는 기술
횡단 관점
<용어 정리>
☑️ Advice : 공통되는 부분을 따로 빼내어 작성한 메소드
☑️ JoinPoint : Advice가 적용될 수 있는 모든 관점(시점, 메소드)
☑️ Pointcut : JoinPoint 중 실제 Advice를 적용할 부분
☑️ Aspect : Advice + Pointcut
☑️ Weaving : 그 시점에 공통 코드를 끼워 넣는 작업