스프링 레시피 CH2.18 인트로덕션을 이용해 POJO에 기능 더하기
과제 어떤 공통 로직을 공유하는 클래스가 여러 개 있을 경우, 보통 OOP에서는 같은 베이스 클래스를 상속하거나 같은 인터페이스를 구현하는 형태로 애플리케이션을 개발한다. AOP 관점에서는 충분히 모듈화 가능한 공통 관심사인데, 자바는 언어 구조상 클래스를 오직 한 개만 상속할 수 있기 때문에 동시에 여러 구현 클래스로부터 기능을 물려받아 쓰는 일은 불가능하다. 해결책 인트로덕션은 AOP 어드바이스의 특별한 타입이다. 객체가 어떤 인터페이스의 구현 클래스를 공급받아 동적으로 인터페이스를 구현한다. 게다가 여러 구현 클래스를 지닌 여러 인터페이스를 동시에 인트로듀스할 수 있어서 사실상 다중 상속도 가능하다 풀이 다음 MaxCalculator, Mincalculator 두 인터페이스에 각각 max(), mi..
2023.12.18