State 패턴은 객체가 특정 상태에 따라 행위를 달리하는 상황에서, 자신이 직접 상태를 체크하여 상태에 따라 행위를 호출하지 않고 각 상태를 객체화하여 각 상태에게 행위를 위임하는 패턴입니다. 구조 State 시스템의 모든 상태에 공통 인터페이스를 제공합니다. 따라서 이 인터페이스를 실체화한 어떤 상태 클래스도 기존 상태 클래스를 대신해 교체해서 사용이 가능합니다. State1, State2, State3 Context 객체가 요청한 작업을 자신의 방식으로 정의하여 실제로 수행하는 클래스입니다. Context State를 이용하는 역할을 수행합니다. 현재 시스템의 상태를 나타내는 상태 변수와 실제 시스템의 상태를 구성하는 여러가지 변수가 있습니다. 또한 각 상태 클래스에서 상태 변경을 요청해 상태를 바..