객체의 상태에 따라 다른 행동을 할 때, 상태 패턴(State Pattern)을 활용해 효율적으로 행동을 구현할 수 있다.컴퓨터 프로그램의 설계에서 자주 쓰이는 개념 중 Finite State Machine(유한 상태 기계)이라는 개념이 있다. Machine은 한 번에 하나의 상태를 가지고, 어떤 이벤트를 통해 다른 상태로 전환될 수 있다.게임 캐릭터나 몬스터의 상태, 애니메이션에서 이런 설계는 자주 볼 수 있다.상태에 따라 다른 행동을 하는 객체를 조건문으로 구현할 수도 있으나 이러한 코드는 유지 보수가 매우 어렵다. switch (state) "draft": state = "moderation" break "moderation": if (currentUser.role == "admin") s..