Strategy Pattern이란? 교환이 가능한 객체를 정의하고, 런타임에 설정하고 변환하는 패턴 같은 문제를 해결하는 여러 알고리즘을 클래스별로 캡슐화하고 필요에 따라 교체할 수 있는 설계로, 이를 런타임에 수행할 수 있게 하려는 패턴이다. 예시 그림과 예시 그림에 있는 용어들에 대해서 정리하고 가자. Strategy 인터페이스나 추상 클래스로 외부에서 동일한 방법으로 알고리즘을 호출하는 방법을 명시 ConcreteStrategyA, B, C 앞서 설계한 추상 클래스 혹은 인터페이스를 필요 기능에 따라 실제 구현한 클래스 Context 전략 패턴을 이용하는 역할을 수행한다. 필요에 따라서, 동적으로 구체적인 전략을 바꿀 수 있는 setter를 제공한다. 사용하는 쪽에서는 Strategy만 바꿔주면 코..