수업 복습

AOP 질의응답

_김영인 2026. 1. 26. 17:18

Q1. 조인 포인트 (JoinPoint)가 뭔가요?

  • 조인 포인트: 비즈니스 관심, 핵심 관심이라고도 불림
  • 어드바이스가 끼어들 수 있는 후보 지점이며 Spring AOP에서는 보통 메서드 실행 시점을 의미한다.

 

Q2. 포인트컷 (Pointcut)이 뭔가요?

  • 포인트컷: 조인 포인트 (후보) 중에서 어드바이스를 실제로 적용할 지점을 골라내는 조건 / 규칙이다.
  • 예: 특정 패키지 / 클래스 / 메서드만 지정해서 적용 범위를 제한한다.

 

Q3. 어드바이스 (Advice)가 뭔가요?

  • 어드바이스: 실제로 실행되는 공통 기능 코드 (공통 관심사)다.
  • 예: 로그 출력, 실행시간 측정, 예외 로깅, 트랜잭션 처리 등을 “언제 실행할지 (Before / After / Around)”와 함께 정의한다.

 

Q4. 위빙 (Weaving)이 뭔가요?

  • 위빙: 포인트컷에 의해 선택된 지점에 어드바이스를 실제로 끼워 넣어 적용하는 과정이다.
  • Spring AOP는 보통 런타임에 프록시 방식으로 위빙된다.

 

Q5. 애스팩트 (Aspect)가 뭔가요? 

  • 애스팩트 (다른 말로 어드바이저): 포인트컷과 어드바이스 (공통관심사)를 합치면 애스팩트
  • “어디에 (Pointcut) 무엇을 (Advice) 적용할지”를 한 덩어리로 묶은 단위다.

 

Q6. AOP 쓰는 이유가 뭔가요?

  • AOP쓰는 이유: 여러번 반복되는 행위들을 한번에 하기 위해
  • 공통 로직을 분리해서 비즈니스 코드는 핵심 기능에 집중하고 결과적으로 응집도가 높아짐 (유지보수 쉬워짐).