Aspect-oriented Programming (AOP)은 OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법.
흩어진 관심사 (Crosscutting *Concerns) *Concerns : 비슷한 코드, 비슷한 호출 등등.

AOP를 적용 하면?

Aspect로 흩어진 것들을 한곳으로 모은다.
AOP 주요 개념
- Aspect 와 Target
- Advice
- Join point 과 Pointcut

Aspect : 흩어진 관심사를 한곳으로 모듈화 한 것.
Advice : 어떤 일을 해야 하는지에 대한 정보.
Join point : 생성자 호출하기 직전, 생성자를 호출했을때, 필드에서 값을 가져갔을때...등등 여러가지 합류점.
Pointcut: A라는 클래스에 b라는 메소드를 호출할때에만 advice를 적용하겠다. 라고 알려주는 것.
Target : 적용이 되는 대상 (ex. Class A , B, C ...)
AOP 구현체
- 자바
- AspectJ
- 스프링AOP
AOP 적용 방법
- 컴파일
- 로드 타임
- 런타임
Aspect-oriented Programming (AOP)은 OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법.
흩어진 관심사 (Crosscutting *Concerns) *Concerns : 비슷한 코드, 비슷한 호출 등등.

AOP를 적용 하면?

Aspect로 흩어진 것들을 한곳으로 모은다.
AOP 주요 개념
- Aspect 와 Target
- Advice
- Join point 과 Pointcut

Aspect : 흩어진 관심사를 한곳으로 모듈화 한 것.
Advice : 어떤 일을 해야 하는지에 대한 정보.
Join point : 생성자 호출하기 직전, 생성자를 호출했을때, 필드에서 값을 가져갔을때...등등 여러가지 합류점.
Pointcut: A라는 클래스에 b라는 메소드를 호출할때에만 advice를 적용하겠다. 라고 알려주는 것.
Target : 적용이 되는 대상 (ex. Class A , B, C ...)
AOP 구현체
- 자바
- AspectJ
- 스프링AOP
AOP 적용 방법
- 컴파일
- 로드 타임
- 런타임