상태 패턴이란?⌗

상태를 객체화 하여 상태가 행동을 할 수 있도록 위임하는 패턴

구조⌗

structure.png

  • Context
    객체의 상태를 정의하는 메소드의 인터페이스
  • State
    상태에 따른 동작을 정의한 인터페이스
  • ConcreateState
    State의 구현체

장점⌗

객체 상태에 대한 내용이 한곳에 집중되어 유지 보수하기에 편한편이다

분기 처리시에 단순히 상태를 추가하고 그에 따른 내용만 추가하면 된다

단점⌗

상태에 따른 클래스 수가 늘어남에 따라 유지보수가 오히려 힘들어질 수 있다

상태에 대한 내용이 적다면 오히려 불필요하게 코드만 복잡해질 수 있다


참고⌗