스테이트 패턴(State Pattern)이란? 어떠한 객체가 특정 상태에 따라 다른 행동을 해야할 때 사용할 수 있는 패턴을 스테이트 패턴(State Pattern)이라고 한다. if문이나 switch 문을 통해 객체의 상태를 객체내에서 충분히 정의할 수 있다. 다만 상태의 경우가 많아질수록 내부적으로 처리해야하는 코드가 많아지고 객체 코드가 지저분해지며 유지 보수가 점점 어려워진다. 따라서 상태를 캡슐화하여 이를 객체 단위로 유지한다. 물론 객체내 코드가 단순해지는 장점은 있지만 분명 단점이 존재한다. 상태마다 클래스를 정의해야하므로 프로젝트내 클래스가 다소 많아질 수도 있다. 이를 적절하게 사용해야 할 것이다. 코드 가독성 증가 객체내 코드 단순화 프로젝트내 객체가 많아져 관리가 어려워질 수 있음. ..