[Spring] AOP 관점 지향 프로그래밍
AOP(Aspect Oriented Programming) 관점 지향 프로그래밍이란 무엇인가? 횡단 관심사(Cross Cutting Concern), 말이 어렵다. 어려운건 역시 그림으로.. 위 그림처럼 여러가지 로직들에 공통적으로 들어가는 로직이 있을 것이다. 예를들면 로그같은 것들은 여러 로직들의 상/하단에 들어가는 경우도 많다. 이렇게 횡단으로 분류할 수 있는 관심사를 Cross Cutting Concern 이라고도 부른다. 이런경우, 로그의 내용을 변경하고 싶을 때마다 여러 로직들을 모두 찾아다니면서 수정해야 하는 불편함도 있다. 그래서 공통적으로 들어가있는 로직들을 따로 분리해서 모듈화 하는것을 AOP라고 한다. 특징은, 소스코드도 아예 로직에서 제거하는 것이고, 이 제거한 코드를 실행 시켜줄수..