1. 상태(state) 패턴이란? 의도 객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게 허가하는 패턴. 이렇게 하면 객체는 마치 자신의 클래스를 바꾸는 것처럼 보인다. 사용 시기 객체의 행동이 상태에 따라 달라질 수 있고, 객체의 상태에 따라서 런타임에 행동이 바뀌어야 할 때 어떤 연산에 그 객체의 상태에 따라 달라지는 다중 분기 조건 처리가 너무 많이 들어 있을 때 구조 Context : 사용자가 관심있는 인터페이스를 정의. 객체의 현재 상태를 정의한 ConcreteState 서브클래스의 인스턴스를 유지 및 관리 State : Context의 각 상태별로 필요한 행동을 캡슐화하여 인터페이스로 정의 ConcreteState 들 : 각 서브 클래스들은 Context의 상태에 따라 처리되어야 할 실제..