열거 타입은 이름마저 생소하다. 열거타입을 사용하는 이유는 무엇일까? 간단히 예를 들어보겠다. '김철수'라는 사람이 있다. 철수는 회사에서 '김대리'라 불리지만 집에서는 '아빠'라 불린다. 그리고 술만 마시면 쩔뚝거리며 걸어서 친구들 사이에서는 '김철뚝'이라고 불린다. 이렇게 '김철수'라는 사람은 상황에 따라 불리는 이름이 다르다. 열거 타입은 하나의 대상이 상황에 따라 다른 값으로 바뀔 필요가 있을 때, 사용하면 간편한 코딩을 할 수 있게 도와준다. 대표적으로, 스레드의 상태(State)는 열거 타입으로 표현된다. 스레드는 한 개지만, 스레드가 상황에 따라 표현되는 상태는 NEW, RUNNABLE, WAITING, TIMED_WAITING, BLOKED, TERMINATED 와 같이 다양하다. 이처럼 ..