[Spring] AOP(Aspect Oriented Programming)
AOP(Aspect Oriented Programming)
- 기존에 사용하던 OOP를 대체하기 위한 것이 아닌 횡단 관심사를 깔끔하게 처리하기 위해 OOP의 부족한 부분을 보조하는 목적으로 개발되었습니다.
애스펙트(Aspect)
- 부가 기능과 해당 부가 기능을 어디에 적용할지 정의한 것
- 분리한 부가 기능과 그 기능들을 어디에 적용할지 선택하는 기능을 합해서 하나의 모듈로 만든 것
- 애플리케이션을 바라보는 관점을 하나 하나의 기능 → 횡단 관심사(cross-cutting concerns) 관점으로 보는 것