AOP Introduction


### 타겟 클래스에 코드 변경없이 신규 메소드나 멤버변수를 추가하는 기능을 얘기
OOP에서는 공통된 기능을 재사용하는 방법으로 상속이나 위임을 사용
하지만 모든 부가기능까지 상속이나 위임으로 처리하기에는 어렵다
서브도메인의 의존성 주입
- OOP : 비지니스 로직의 모듈화
> - 모듈화의 핵심 단위는 비지니스 로직
> - 낮은 결합도, 독립적 캡슐화 모듈
- AOP : 인프라 혹은 부가기능의 모듈화
> - 각각의 모듈들의 주 목적 외에 필요한 부가적인 기능들
> - 재사용성의 극대화
> - AOP로 만들 수 있는 기능은 OOP로 구현 할 수 있는 기능






