한눈에 보는 정의

State 패턴은 신호등의 빨강·노랑·초록처럼, 객체의 상태에 따라 달라지는 행동을 복잡한 조건문 대신 각 상태별 객체로 분리해 관리하는 디자인 패턴입니다.

자세히 알아보기

  • 예문: "주문 상태가 '결제 대기', '배송 중', '배송 완료'로 바뀔 때마다 서로 다른 동작이 필요하다면 State 패턴을 적용할 수 있다."
  • 상태가 늘어날수록 if-else나 switch 조건문이 계속 복잡해지는데, State 패턴은 각 상태를 별도의 객체로 만들어 코드를 훨씬 깔끔하게 관리할 수 있게 해줍니다.
  • 현재 상태 객체가 다음에 어떤 상태로 바뀔지까지 스스로 결정하도록 만들면, 상태 전환 로직도 각 상태 객체 안에 자연스럽게 응집시킬 수 있습니다.
  • Observer 패턴 (Observer 패턴)과 함께 쓰여, 상태가 바뀔 때마다 관련된 다른 객체들에게 이를 알리는 구조로 확장되기도 합니다.

관련 용어

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

← 용어사전 전체 목록으로