CS/디자인패턴1 디자인패턴 - 전략 패턴 전략 패턴을 사용하지 않고, Duck이라는 슈퍼클래스를 기반으로 각 구현체는 슈퍼클래스를 상속받아서 생성한다고 하자. 그러면 구현이 단순해 보일 수 있지만, 다른 문제를 마주치게 될 것이다. 예를 들어 오리가 나는 행동을 추가하고 싶다면, Duck클래스에 그러한 행동을 추가하는 방식으로 해결할 것이다. 여기서 큰 문제를 마주하게 된다. 특정 행동을 하거나 하지 않는 오리가 있다면, 또는 특정 행동을 다르게 하는 오리가 있다면 어떻게 해야되는가? 이는 다음과 같은 경우를 의미한다. 어떤 오리가 수영하지 않는다고 하면, Duck클래스를 상속받은 후, 메서드 오버라이드 하여 특정 행동을 제한해야 하는가? 오리마다 우는 방식이나 소리가 다르다고 하면, 우는 행동은 모두 재작성해야 하는가? 이 방식은 상속받는 클.. 2022. 6. 28. 이전 1 다음