[Spring] AOP - Aspect Oriented Programming
AOP (Aspect Oriented Programming) 관점 지향 프로그래밍 흩어진 Aspect를 모듈화할 수 있는 프로그래밍 기법이다. 동일한 색상의 선을 중복되는 메서드 & 필드 & 코드라고 가정할 때, 여러 클래스에 반복되서 사용 되기 때문에 흩어진 관심사(Crosscutting Concerns)이라 부른다. 그리고 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는 것이 AOP다. Interceptor, Filter도 일종의 AOP이다. 또한, 중복되는 주황색 부분의 수정이 생기면 A, B, C 클래스 모두 수정을 해야 한다. 이는 SOLID 원칙 중 SRP(Single Responsibility Programming)에 위반된다. Spring AOP 스프..