그렇다면 열거형은 무엇을 위한 것일까? 클래스를 이용하면 안 될까? 어떤 값을 담기 위한 또 다른 클래스가 있다고 가정해 보자.
class ImageWidths { public const int Small = 50; public const int Medium = 100; public const int Large = 200; }
다음 코드를 컴파일하면 true를 반환한다는 것이 중요하다.
return HttpStatusCode.OK == ImageWidths.Large;
이건 우리가 원하는 것이 아니다. 대신 이것을 열거형으로 작성하면 다음과 같다.
enum HttpStatusCode { OK = 200, NotFound = 404, ServerError = 500, }