요약
- 디자인 패턴 소개와 전략 패턴
- 오리 시뮬레이션 게임
- 슈퍼 클래스에 메서드 추가 시, 특정 서브 클래스가 그걸 구현하고 싶지 않아도 무조건 구현해야 하는 문제 발생
메모
CHAPTER 01. 디자인 패턴의 세계로 떠나기
- 디자인 패턴 소개와 전략 패턴
- 다른 개발자가 우리와 똑같은 문제를 경험하면서 익혔던 지혜와 교훈을 살펴봄.
- 디자인 패턴의 활용 분야와 디자인 패턴으로 얻을 수 있는 장점을 알아봄.
- 몇 가지 핵심적인 객체지향 디자인 원칙을 살펴봄.
- 한 가지 패턴을 정해 디자인 원칙이 어떤식으로 작동하는지 알아봄.
- 패턴을 잘 사용하려면 패턴을 머릿속에 집어넣은 다음 애플리케이션에 어떻게 적용할지 파악해야 함.
- 디자인 패턴은 코드가 아닌 경험을 재사용 하는 것임.
- 오리 시뮬레이션 게임
- Duck 상위 클래스는 quack(), swim(), display() 메서드를 가짐.
- Duck 을 상속받는 하위 MallardDuck, RedheadDuck 클래스가 있음.
- 만약 Duck 클래스(슈퍼 클래스)에 fly() 메서드를 추가하면 Duck 클래스를 상속받는 모든 하위 Duck 클래스는 fly() 를 구현해야함.
- 문제는 Duck의 하위 클래스에서 날아서는 안될 Duck 들도 무조건 fly를 구현해야하는 문제가 생김.
댓글