AOP 용어

이 문서에서는 AOP에서 자주 사용하는 용어에 대해서 정리한다.

AOP 용어 목록

AOP에서 사용하는 용어들은 다음과 같다.

  • Aspect : 간섭을 수행할 주체(객체)

  • Joinpoint : 간섭을 수행할 대상(객체)

  • Advice : 구체적인 간섭 내용(코드)

  • Pointcut : 구체적인 간섭 위치(메소드)

  • Weaving : 실제로 간섭을 수행하는 것

Proxy Pattern

AOP와 용어들에 대해 구체적으로 이해하기 위해서는 Proxy Pattern에 대해서 알아야 한다. Proxy란 가짜, 대리의 뜻을 가지며 특정 대상을 감싸 원하는 기능을 추가하는 것이 목적이다.

실생활을 예로 들어 설명한다면 다음과 같다.

전국적으로 아주 유명한 A라는 마라탕 맛집이 있다. A 가게에서 밥을 먹으려면 기본 3시간은 기다려야 한다. 이 가게 주변에는 가게의 유명세를 이용해서 돈을 벌어보려는 가게들이 많이 있다. 맛집의 맛은 따라갈 수 없기 때문에 마라탕은 맛집에서 사다가 팔고, 다른 메뉴들을 곁들여 팔며 돈을 벌고 있다.

그림으로 살펴보면 다음과 같다.

음료수나 술까지 맛집이 아니라면, 기다리기 싫어하는 사람들은 가짜 맛집에 가도 똑같은 음식을 먹을 수 있을 것이다. 왜냐하면, 진짜 맛집에서 음식을 사다가 줄 것이기 때문이다.

이 경우에 가짜 맛집이 Proxy 객체에 해당한다고 볼 수 있다. 진짜 맛집의 음식을 사다가 팔면서 곁들여 음료수, 술과 같은 것들을 판매할 수 있기 때문이다.

Last updated