AOP(Aspect Oriented Programming) >의미 : 관심 지향 프로그래밍 : 핵심 관심 사항과 공통 관심 사항을 분리하는 것. : 각 클래스들이 본연의 일만 할 수 있도록, 공통된 기능을 가진 부분들을 한 곳으로 따로 모으는 것이다. : Aspect는 애플리케이션의 공통 관심사를 의미한다. >필요한 이유 : 코드의 간결성, 코드의 재사용, 그리고 궁극적으로는 객체 지향 설계 원칙에 맞는 코드 구현을 위해서이다. >방법 컴파일 된 바이트코드(.class)를 조작하는 방법 : 컴파일 된 바이트코드에 공통적으로 넣어줄 부분을 끼워 넣기 프록시 패턴 사용 : Spring이 사용하는 방법 : 내부에 객체(클래스)를 생성해서 원하는 메서드 호출 전후로 넣어줌 PSA(Portable Service ..