AOP
AOP는 흔히 관점 지향 프로그래밍 이라는 용어로 번역된다. AOP가 추구하는 것은 관심사의 분리 이다. AOP는 개발자가 염두에 두어야 하는 일들은 별도의 관심사로 분리하고, 핵심 비즈니스 로직만을 작성할 것을 권장한다. 코드를 온전하게 만들기 위해서 필요한 고민들을 전통적인 방식에서는 개발자가 반복적으로 코드에 반영하게 된다. 예를 들어 나눗셈을 구현한다고 치면 "핵심 로직"은 두 개의 숫자를 나누는 것이지만, "주변 로직"은 0을 나누는 것이 아닌지 등을 체크하는 것이다. AOP는 과거에 개발자가 작성했던 '관심사 + 비즈니스 로직" 을 분리해서 별도의 코드로 작성하도록 하고, 실행할 때(컴파일 혹은 실행) 이를 결합하는 방식으로 접근한다. 예를 들어 AOP를 이용하면 작성된 모든 메서드의 실행 시..