사용자 입력에 따라 상태를 변환할 때 사용하는 패턴이다. FSM 이라는 유한상태기계를 구현하는 방법이다. 걷기, 점프, 달리기 등 여러 상태가 존재하는데 이를 분기문으로 처리하려면 bool변수도 그렇고 너무 복잡해진다.이를 상태에 따라 깔끔하게 구현가능하게 해주는 것이 상태패턴이다. 우선 열거형으로 상태를 정의할 수 있다. 그리고 이를 switch문으로 분기해서 코드를 모아둘 수 있다. 이정도로도 충분할 수 있지만 '게임 프로그램이 패턴' 책에서는 각 상태를 클래스로 만들었다. 상태 인터페이스를 만들고 각 상태는 이를 상속한다.interface heroState{ virtual void update() virtual void handleinput() static walkState; ..