객체 지향 프로그래밍(OOP)란 우리가 실생활에서 쓰는 모든 것을 객체라 하며, 객체 지향 프로그래밍은 프로그램 구현에 필요한 객체를 파악하고 각각의 객체들의 역할이 무엇인지를 정의하며 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 말합니다. 하지만 OOP는 공통된 기능들이 흩어져 존재하는 단점이 있기 때문에, 이 점을 보완하고자 AOP(Aspect-Oriented Programming) 프레임워크가 탄생하게 되었습니다. AOP란? AOP는 관점 지향 프로그래밍이라고 불립니다. 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점과 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 하겠다는 것입니다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말합니다. 예를 들어 ..