옵저버 패턴
헤드퍼스트 - 분리하기/옵저버 패턴
fly() quack()문제를 제외하면 Duck 클래스는 잘 작동하고 있으며, Duck 클래스는 그대로 두는 게 좋다 '변화하는 부분과 그대로 있는 부분'을 분리 (Duck 클래스와는 완전히 별개로) 2개의 클래스 집합을 만들어야함 fly()와 quack() 문제를 제외하면 Duck클래스는 잘 작동하고 있으며, Duck 클래스는 그대로 두는것이 좋다 변화하는 부분과 그대로 있는 부분을 분리할려면 (Duck클래스와는 완전히 별개로)2개의 클래스 집합을 만들어야한다 duck 클래스 바뀌는 부분뽑아내기 -> 나는 행동 , 꽥꽥거리는 행동 Duck클래스에 flyBehavior와 quackBehavior라는 인터페이스 형식의 인스턴스 변수를 추가한다 FlyBehavior와 QuackBehavior 인터페이스로 옮..