AOP(Aspect Oriented Programming) 말 그대로 관점 지향 프로그래밍이다. 예로 스프링에서 @Transactional 어노테이션이 AOP로 구현된다.코드가 많은 트랜잭션 처리를 쉽게 할 수 있다는 장점이 AOP를 잘 설명 해주는 것 같다. 기본적인 용어crosscutting concerns(횡단 관심): OOP로 모듈화 시키기 어려운, 특정 처리구문(?) 예로 로깅, 보안, 트랜잭션, 예외처리, 등등advice(어드바이스): 실행할 부가적인 기능(실제 코드)target(타겟): 어드바이스를 적용할 대상 객체joinpoint(조인포인트): 어드바이스를 삽입할 특정 지점pointcut(포인트컷): 조인포인트를 선별하기 위한 정의weaving(위빙): 포인트컷으로 선별된 조인포인트에 어드..