한눈에 보는 정의

Strategy 패턴은 정렬 방식이나 결제 수단처럼 서로 다른 알고리즘(처리 방식)을 별도의 객체로 분리해두고, 실행 중에도 필요한 알고리즘을 자유롭게 갈아 끼울 수 있게 만드는 디자인 패턴입니다.

자세히 알아보기

  • 예문: "결제 화면에서 카드 결제, 계좌 이체 중 무엇을 고르든 같은 코드로 처리할 수 있는 것이 Strategy 패턴의 예다."
  • 조건문으로 여러 알고리즘을 분기 처리하는 대신, 각 알고리즘을 독립된 객체로 만들어두면 새로운 알고리즘이 추가되어도 기존 코드를 건드릴 필요가 없습니다.
  • 사용하는 쪽(맥락, Context)은 어떤 구체적인 알고리즘이 실행되는지 몰라도 되며, 그저 정해진 방식으로 알고리즘 객체를 호출하기만 하면 됩니다.
  • 다형성(Polymorphism) (다형성)을 활용해, 같은 방식으로 호출해도 어떤 전략 객체를 넣었느냐에 따라 다르게 동작하도록 만드는 것이 핵심 원리입니다.

관련 용어

최종 수정일: 2026년 7월 17일

← 용어사전 전체 목록으로