Strategy 패턴은 행위를 클래스로 캡슐화하여 동적으로 행위를 자유롭게 변경할 수 있도록 해주는 패턴입니다. 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고 이들이 필요할때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있도록 해줍니다. 구조 Strategy 외부에서 동일한 방식으로 알고리즘을 호출하기 위한 메서드를 명시하는 인터페이스 클래스입니다. ConcreteStrategy Strategy 클래스에서 명시한 알고리즘을 실제로 구현한 클래스입니다. Context Strategy 클래스를 사용하는 역할을 수행합니다. 필요에 따라 동적으로 구체적인 전략을 변경할 수 있도록 setter 메서드를 제공합니다. 활용 상황 구현된 알고리즘은 다르지만 동일한 목적을 지닌..