• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Target과 Join Point의 차이점 질문드립니다.

20.05.30 17:22 작성 조회수 403

1

영상에서의 설명을 잘 들었습니다!

약간을 아리송하게 정리가 안되서 질문드립니다.

(영상 속 말씀을 그대로 옮겨 적자면...)

Target : 적용이 되는 대상

Join Point : Advice가 끼어들 수 있는 지점, 가장 흔한 케이스는 메소드 실행 시점

그러면,

Target은 Aspect의 Pointcut이 적용 되는 대상

Join Point는 Advice가 적용되는 지점

이렇게 이해하면 되는 건가요?

아리송하게 느낀 부분이 Pointcut은 Advice가 어디에 적용될 지에 대한 정보라고 하는데요. 

JoinPoint도 Advice가 어느 지점에 적용될 지 정보,,,

Pointcut도 결국 Advice가 어디에 적용 될 지에 대한 정보인데요...

어떤 차이가 있는 건 지 조금 헷갈립니다.

질문을 정리하자면

질문1)

Target은 Aspect의 Pointcut이 적용 되는 대상,

Join Point는 Advice가 적용되는 지점인가요?

질문2)

Target이 될 수 있는 대상은 Class이고

Join Point가 적용되는 지점은 Target Class 안에서 구현되는 생성자, 메소드 등인 건가요?

감사합니다..ㅠ 알 것 같은데 뭔가 헷갈리네용...

답변 2

·

답변을 작성해보세요.

1

예를 들어서 살펴보면 좀 더 쉬운데요. MemberService의 hello()라는 메소드 실행 전,후에 hello랑 bye를 출력하는 일을 한다고 가정해보죠. 이때 MemberService 빈이 타겟, "hello() 메소드 실행 전,후"가 포인트컷, "메소드 실행 전,후"라는게 조인포인트, "hello랑 bye를 출력하는 일"이 Advice입니다. 포인트컷과 조인포인트가 많이 햇갈릴텐데 조인포인트가 메타적인 정보라고 생각하시면 되고 포인트컷이 좀 더 구체적인 적용 지점이라고 생각하시면 됩니다.

0

KS L님의 프로필

KS L

질문자

2020.05.31

아~~ ㅋㅋㅋ 궁금증 싹 날라가게 이해 됐습니다!

저의 언어 능력을 배양해야 겠네요ㅠㅠ

Pointcut은 Advice가 어디에 적용될 지에 대한 정보

Join point는 Advice가 적용될 수 있는 위치들을 뜻하는 거였군요.

늦은 시간에 답변 감사합니다!