에릭 프리먼 님의 "헤드퍼스트 디자인 패턴" 책을 정리한 포스팅 입니다 1. 오리 시뮬레이션 게임Duck 클래스를 슈퍼클래스로 생성각 오리 종류를 서브클래스로 두어 Duck 클래스를 상속함 (MallardDuck, RedheadDuck, RubberDuck) 심각한 문제 발생슈퍼클래스에 추상메서드 추가 시, 모든 서브클래스에서 구현이 강제됨몇몇 서브클래스에만 적용되어야 할 메서드일 경우, 논리적으로 오류가 발생함 예: fly()더보기// 상위 클래스abstract class Duck { public abstract void fly(); // 👈 모든 Duck에게 fly() 강제 public abstract void quack();}// MallardDuck는 날 수 있음class Malla..