AOP Aspect Orientend Programming(관점 지향 프로그래밍) : 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나눠 보고 그 관점을 기준으로 각각 모듈화하는 것 Crosscutting Concerns(흩어진 관심사) : 소스 코드 상 다른 부분에 계속 반복해서 쓰는 코드들 AOP의 취지 : 흩어진 관심사를 관점(Aspect)으로 모듈화하고 핵심적인 비지니스 로직에서 분리하여 재사용 주요 개념 Aspect : 흩어진 관심사를 모듈화 Target : Aspect를 적용하는 곳(ex. 클래스, 메서드...) Advice : 실질적인 부가기능을 담은 구현체 JointPoint : Advice가 적용될 위치. 다양한 시점에 적용 가능 PointCut : JointPoint의 상세한 ..