프로그램이 진행되면서 캡슐화된 로직을 선택할 수 있게 하는 디자인 패턴
프로그램이 진행되면서 캡슐화된 로직을 선택할 수 있게 하는
로직 실행은 인터페이스에 의존을 시키고 인터페이스를 구현한 로직들을 전달해줌으로써 **유연성**을 갖출 수 있다.
유연성
객체지향 원칙중 개방-폐쇄 원칙**(Open-Closed Principle)을 지키기 위한 디자인 패턴**