AOP 용어
이 문서에서는 AOP에서 자주 사용하는 용어에 대해서 정리한다.
Last updated
이 문서에서는 AOP에서 자주 사용하는 용어에 대해서 정리한다.
Last updated
AOP
에서 사용하는 용어들은 다음과 같다.
Aspect
: 간섭을 수행할 주체(객체)
Joinpoint
: 간섭을 수행할 대상(객체)
Advice
: 구체적인 간섭 내용(코드)
Pointcut
: 구체적인 간섭 위치(메소드)
Weaving
: 실제로 간섭을 수행하는 것
AOP
와 용어들에 대해 구체적으로 이해하기 위해서는 Proxy Pattern
에 대해서 알아야 한다.
Proxy
란 가짜, 대리의 뜻을 가지며 특정 대상을 감싸 원하는 기능을 추가하는 것이 목적이다.
실생활을 예로 들어 설명한다면 다음과 같다.
전국적으로 아주 유명한 A라는 마라탕 맛집이 있다. A 가게에서 밥을 먹으려면 기본 3시간은 기다려야 한다. 이 가게 주변에는 가게의 유명세를 이용해서 돈을 벌어보려는 가게들이 많이 있다. 맛집의 맛은 따라갈 수 없기 때문에 마라탕은 맛집에서 사다가 팔고, 다른 메뉴들을 곁들여 팔며 돈을 벌고 있다.
그림으로 살펴보면 다음과 같다.
음료수나 술까지 맛집이 아니라면, 기다리기 싫어하는 사람들은 가짜 맛집에 가도 똑같은 음식을 먹을 수 있을 것이다. 왜냐하면, 진짜 맛집에서 음식을 사다가 줄 것이기 때문이다.
이 경우에 가짜 맛집이 Proxy
객체에 해당한다고 볼 수 있다. 진짜 맛집의 음식을 사다가 팔면서 곁들여 음료수, 술과 같은 것들을 판매할 수 있기 때문이다.