state (1) 썸네일형 리스트형 [Design Pattern] State Pattern 이번 장에서는 상태(State) 패턴에 대해서 알아본다. 샘플 코드는 여기 (링크) 프로젝트의 테스트 코드로 정리해두었다. 상태 패턴이란? 위키백과에 다른 정의는 아래와 같다. 상태 패턴 인터페이스의 파생 클래스로서 각각의 상태를 구현함으로써, 또 패턴의 슈퍼클래스에 의해 정의되는 메소드를 호출하여 상태 변화를 구현함으로써 상태기계를 구현한다. 쉽게 풀어보면 어떠한 객체가 존재하고 객체의 상태가 존재할 때 상태를 관리하는 클래스들을 따로 분리하여 객체의 상태를 관리한다는 의미가 된다. 필자의 경우 아래의 이미지와 같이 버스의 혼잡 상태(이하 혼잡도, CrowdLevel)를 예로 알아보도록 하겠다. 버스의 혼잡도는 임의로 아래와 같이 변한다고 가정한다. 0 ~ 20명은 "여유"(CrowdLevel1), 2.. 이전 1 다음