AOP란? Aspect Oriented Programming의 약자로, 관점지향 프로그래밍이라고 불린다. 여러 객체에 공통으로 적용할 수 있는 기능을 구분함으로써 재사용을 높여주는 프로그래밍 기법이다. AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만들어준다. 다시 말해 핵심 기능의 코드를 수정하지 않으면서 공통 기능의 구현을 추가하는 것이 AOP이다. * 횡단관심 : 로깅, 보안, 트랜젝션 등 다수의 모듈에서 반복적으로 나타나는 부분 예를 들어 C사는 JSON 규격으로 통신을 하는데, A사와 B사는 UTF-8규격을 맞추지 못한다고 가정해보자. 이럴경우 A사와 B사에 C사의 코드를 그대로 적용하면 한글이 깨져서 나올것이다. 이를 해..