우선적으로 AOP 란 Aspect Oriented Programing 의 약자이다. Aspect 란 측면이라는 뜻으로, 좁은 부분을 뜻한다. 즉, 측면 지향 프로그래밍 이란 것은, 프로그램상의 어느 한정적인 부분들을 나누어서 프로그래밍하는 것을 의미한다. 이 한정적인 부분을 공통부분이라 칭하고 핵심부분과 구분되어 별도시스템이 동작 가능하게 한다. 아래의 코드를 보자. public class RecCalculator implements Calculator{ @Override public long factorial(long num) { // TODO Auto-generated method stub if(num==1) { return 1; } return num*factorial(num-1); } } 위 코드..