본문 바로가기
C#

열거 형식 - 여러 개의 상수를 정리 Enum

by JAESEONG LEE- developer 2022. 7. 18.

열거 형식은 이런 실수를 막아주는 장치입니다.

 

첫 번째 열거 형식 요소에는 0, 그 다음 요소에는 1, 그리고 그 다음 요소에는 2의 식으로 1씩 증가한 값을 컴파일러가 자동으로 할당합니다. 실제로 예제 프로그램을 통해 확인해보겠습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
 
namespace Enum
{
    class MainApp
    {
        enum DialogResult {  YES, NO, CANCEL, CONFIRM, OK }
 
        static void Main(string[] args)
        {
            Console.WriteLine((int)DialogResult.YES);
            Console.WriteLine((int)DialogResult.NO);
            Console.WriteLine((int)DialogResult.CANCEL);
            Console.WriteLine((int)DialogResult.CONFIRM);
            Console.WriteLine((int)DialogResult.OK);
        }
    }
}
cs

 

 

예제 프로그램의 실행 결과를 보면, 코드에서는 열거 형식의 각 요소에 어떤 값도 주지 않았지만 이들이 정수 데이터를 갖고 있음을 볼 수 있습니다. DialogResult의 각 요소들이 갖고 있는 값은 컴파일러가 자동으로 할당했습니다.

 

C#의 열거 형식이 이렇게 설계된 이유는 열거 형식의 요소가 어떤 값을 갖느냐는 별 의미가 없기 때문에 열거 형식의 각 요소는 서로 중복되지 않는 값을 갖고 있다는 데 의미가 있습니다. 즉, "DialogResult가 0이다"보다는 "DialogResult가 YES다"가 훨씬 의미를 잘 전달하는 것 입니다.