1. Strategy Pattern 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 알고리즘(전략,작전,책략)을 교체해서 동일한 문제를 다른 방법으로 해결하는 패턴 실행 중에 교체하는 것이 가능하다. – 다형성을 이용해서 "상속"을 이용해 프로그램을 할때의 단점1) 서브클래스의 코드 중복 부모클래스에서 메소드 fly()를 구현해 놓았다면(abstract일때) 서브 클래스에서는 fly()를 쓰지 않아야 할때 매번 안쓴다는 코드를 구현해야 한다. (불필요한 행동을 그냥 아무것도 하지 않는것으로 오버라이드 해야한다. 만약 규격이 자주 바뀌게 되면 매번 프로그램에 추가했던 부모클래스를 상속받은 서브클래스의 메소드를 모두 일일이 살펴봐야한다.)2) 실행시에 특징을 바꾸기 힘들다.3) 모..