1. 다이아몬드 상속이 필요할것만 같은 상황이 발생했다. 이 때 대안으로 가능한 리팩터링은

무엇이 있는가?

12.10 서브클래스를 위임으로 바꾸기

  1. 클래스 A는 클래스 B의 부모 클래스다. 클래스 B는 클래스 A를 사용하지만 클래스 A의

모든 기능을 필요로 하지 않는다 이 때 사용 가능한 리팩터링 기법은 무엇인가?

(기법 이름만 적으시오)

12.11 슈퍼클래스를 위임으로 바꾸기

  1. 2번에 언급된 문제의 사례로는 무엇이 있는지 찾아 적으시오

자바 스택 클래스의 잘못된 상속

  1. 저자가 말하는 부모클래스를 추출하여 상속구조를 만들어야 하는 ‘일반론적인 이유’와

‘저자의 실질적인 이유’는 무엇인가? 각각 쓰시오 (300자 미만)

상위 타입의 모든 메서드가 하위 타입에도 적용되고, 하위 타입의 모든 인스턴스가 상위 타입 인스턴스가

되는 의미상 적합하다면 간단하고 효과적인 메커니즘. 상속이 더는 최상의 방법이 아니게 되면 리팩터링을 이용하여 슈퍼클래스를 위임으로 바꾸면 되기 떄문이다.