백엔드/Java
[Java] 전략 패턴(Strategy Pattern)
전략 패턴(Strategy Pattern) 전략 패턴은 실행(런타임) 중에 알고리즘 전략을 선택하여 객체 동작을 실시간으로 바뀌도록 할 수 있게 하는 행위 디자인 패턴이다. 여기서 '전략'이란 일종의 알고리즘이 될 수도 있으며, 기능이나 동작이 될 수도 있는 특정한 목표를 수행하기 위한 행동 계획을 말한다. 즉, 어떤 일을 수행하는 알고리즘이 여러 가지 일 때, 동작들을 미리 전략으로 정의함으로써 손쉽게 전략을 교체할 수 있는, 알고리즘 변형이 빈번하게 필요한 경우에 적합한 패턴이다. 전략 패턴 구조 전략 알고리즘 객체들 : 알고리즘, 행위, 동작을 객체로 정의한 구현체 전략 인터페이스 : 모든 전략 구현체에 대한 공용 인터페이스 컨텍스트(Context) : 알고리즘을 실행해야 할 때마다 해당 알고리즘과..