상태 패턴

: 각 객체가 특정 상태를 나타내는 제한된 객체 집합에 상태별 논리 제공
객체 내부 상태에 따라 스스로 행동 변경 가능하게 허가하는 패턴
객체는 마치 자기 자신의 클래스를 변경하는 것처럼 보임


신호등 색상에 관한 객체 생성
- 현재 상태
- 카운트
- 상태 변경 : 변경에 대한 횟수를 10회로 설정
- 시작

각 빨간불, 초록불, 노란불에 관한 상태 값과 상태 관련 동작을 캡슐화 한다
빨간 불에 대한 정의 후 TrafficLight객체의 change함수를 참조하여 초록불 객체 상태로 변경 되도록 한다
빨강 -> 초록 -> 노랑 순으로 가게끔 한다
이렇듯 객체 속 상태를 변경하기 위한 핸들러로 상태 객체 호출하는 것