[Dev] AOP (Aspect-Oriented Programming)
관점(관심) 지향 프로그래밍
- 공통된 부분들을 모아 관리함
- ex) 각 서비스들에 구현되어 있는 로깅 로직들을 모아 Logging AOP로 관리
- 가로로 (횡으로) 공통 영역을 잘라내어 관리하므로 Cross-Cutting이라고도 부름
용어
Aspect
Target
Advice
JoinPoint
- Advice가 적용될 위치
- ex) 메서드에 진입할 때 동작 시킬 수 있음
PointCut
Proxy
- Target을 감싼 프록시 객체로, Target이 호출되면 전/후처리와 실제 Target 호출을 Proxy가 수행함