[Design Pattern] 전략패턴(Strategy Pattern)
Head First Design Patterns를 학습한 내용을 기록합니다. 게임에 존재하는 몇가지 종류의 오리를 만들어 보려고한다. 이를 클래스로 설계하면 아래와 같이 할 수 있을것이다. Duck이라는 클래스를 선언하고 quack()과 swim() 메소드를 구현한다. display()는 선언만하고 구현하진 않는다. 각 서브클래스 오리들(MallardDuck , ReadheadDuck)은 수퍼클래스 Duck을 상속받아서 오리의 특색에 맞게 display를 구현한다. 현재 구조를 보면 모든 오리가 똑같이 수영하고 꽥꽥 소리를 낸다. 위 클래스 설계에서 오리가 날 수 있도록 기능을 추가하려면 어떻게 하면될까?? 아래의 방식으로 설계하면 각 오리별로 메소드를 추가할 필요 없이 손쉽게 모든 오리들이 날 수 있도..
2021.01.29