전략 패턴정의:객체들이 할 수 있는 행위 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화 하는 인터페이스를 정의하여,객체의 행위를 동적으로 바꾸고 싶은 경우 직접 행위를 수정하지 않고 전략을 바꿔주기만 함으로써 행위를 유연하게 확장하는 방법을 말합니다. 이 책에선 오리로 예시를 든다.public Class Duck{ public quck(){}; public fly(){};} 이렇게 되면 Duck을 상속받는 class 들은 무조건 fly와 quck을 날아야하기 때문에, 장난감 오리는 날지도 못하고, 꽉 하지도 못하는 데 상속을 통해 그 기능을 가져야한다. 여기서 전략 패턴이 필요하다. 그래서 이러한 행동을 클래스로 정의하는 것이 전략 패턴이다. interface Fly{ public fl..