목록2024/07/13 (1)
SW
[개발서적] 헤드퍼스트 디자인 패턴 Ch1. 전략(Strategy) 패턴
1. 오리 시뮬레이션 게임, SimUduck모든 오리는 꽥(quack) 소리를 낼 수 있고, 헤엄(swim)을 칠 수 있으므로 quack, swim 메소드는 슈퍼클래스로 작성합니다.모든 오리의 모양이 다르므로 display 메소드는 추상 메서드로 작성하고, 오버라이드 합니다. 2. 상속을 생각하기일부 오리가 하늘을 날아야 하는 기능을 추가해달라는 요청이 들어왔습니다.슈퍼클래스인 Duck에 fly를 추가해봅니다. 그럼 모든 오리는 날게 됩니다.날지 못하는 고무오리(RubberDuck)도 날게 되는 오류가 발생합니다. 위 그림처럼 RubberDuck이 날지 못하도록 fly에서 아무 동작 없이 오버라이딩을 해봅니다. 일단 해결은 되겠죠.그러나, 만약 날지못하는 여러 오리가 추가된다면 일일이 fly에서 아무 ..
개발서적/헤드퍼스트 디자인패턴
2024. 7. 13. 00:38