전략 패턴객체의 전략(행동)을 정의하는 알고리즘을 외부에서 선택하고 주입하여 유연성과 확장성을 높이는 설계 방식'전략'을 캡슐화하여 런타임에 동적으로 교체할수 있도록 설계하는 방법DI와 상당히 유사하나 '동적으로 교체'에 초점을 맞췄다고 보면 됨 Context(문맥) 전략을 호출하는 역할 , 전략 객체를 내부 필드로 유지, 실행하는 메서드(DoSomething()) 제공Strategy(전략 인터페이스) : 공통 인터페이스 혹은 추상 클래스ConcreteStrategy(구체적인 전략) : 인터페이스를 구현하여 실제 알고리즘을 정의 필요성중복 제거 : if 문 혹은 Switch문의 반복으로 코드가 난잡해 지는 것을 방지Open-Closed Principle : 새로운 알고리즘을 추가할 때 기존 코드..