나는 행동과 꽥꽥거리는 행동의 인터페이스나는 행동 인터페이스를 위임받는 클래스들꽥꽥거리는 행동 인터페이스를 위임받는 클래스들특징이 다른 오리들테스트 해보기공부한 책 : 헤드퍼스트 디자인패턴
A. 인터페이스가 아닌 구체적인 구현을 바탕으로 코딩함. B. 새로운 디스플레이 항목이 추가될 때마다 코드를 변경해야 함. C. 실행 중에는 디스플레이 항목을 추가하거나 제거할 수 없음. E. 바뀌는 부분을 캡슐화하지 않음. p.78주제(Subject)는 옵저버가 특정
고객이 모카를 주문했으므로 Mocha 객체를 만들고 그 객체로 DarkRoast를 감쌈Mocha 객체는 데코레이터임. 객체의 형식은 객체가 장식하고 있는 객체를 반영하는데, Beverage가 이를 반영함. 여기서 반영한다는 뜻은 같은 형식을 갖는다는 뜻!Mocha에도
인터페이스 바탕으로 만들어진 코드는 어떤 클래스든 특정 인터페이스만 구현하면 사용할 수 있기에 시스템에서 일어날 수 있는 여러 변화에 대응할 수 있음. -> 다형성피자 종류를 고르고 그에 맞게 피자를 만드는 코드 추가!신메뉴 추가시 인스턴스를 만드는 구상 클래스를 선택
Decorator Pattern 객체에 추가 요소를 동적으로 더할 수 있다. 데코레이터를 사용하면 서브클래스를 만들 때보다 훨씬 유연하게 기능을 확장할 수 있다. 구성의 장점 실행 중에 동적으로 행동 설정 가능 객체에 여러 임무를 새로 추가할 수 있음 기존 코드를 건