전략 패턴(Strategy Pattern) 알고리즘을 정의하고 해당 알고리즘을 실행하는 부분을 분리하여 교체 가능하게 하는 패턴이다. 이를 통해 알고리즘을 동적으로 선택하거나 확장하기가 용이해 진다. 전략 패턴의 구성 요소 1. 전략(Strategy) - 알고리즘을 나타내는 인터페이스나 추상 클래스 - 여러 알고리즘의 공통점을 정의한다 2. 구체적인 전략(Concrete Strategy) - 전략 인터페이스를 구현한 클래스 - 각각의 클래스는 다양한 알고리즘을 구현한다 3. 컨텍스트(Context) - 전략을 사용하는 클라이언트 - 필요에 따라 다른 전략을 선택하고 실행한다 예시 전략(Strategy) // 정렬 전략을 나타내는 인터페이스 interface SortStrategy { void sort(i..