참고 서적: 이것이 C# 이다(저자: 박상현)
변수와 달리 안에 담긴 데이터를 절대 바꿀 수 없는 메모리 공간.
"값을 바꾸면 안 되는 변수"를 변형하는 실수를 막기 위해서 만들어진 것이다.
상수가 수백 가지 있을 때 중복되는 값을 갖는 상수들이 존재한다면 재앙이 올 수 있다.
예시)
CANCEL을 선택 했음에도YES의 결과를 도출한다.const int YES = 1; const int CANCEL = 1;
열거 형식의 요소가 어떤 값을 갖는지는 중요하지 않고,
열거 형식이 중복되지 않는 값을 갖고 있다는 것에 의미가 있다.
enum 열거 형식명 : 기반자료형 {상수1, 상수2, 상수3...}
여기서 열거 형식명은 변수가 아니라 새로운 형식이다.
enum은 원하는 값을 직접 대입할 수도 있다.
enum 열거 형식명 {상수1 = 값1, 상수2 = 값2, 상수3 = 값3 ...}
만약 첫 번째 요소에 직접 할당하고 다음 요소부터 할당하지 않으면 컴파일러가 자동으로
바로 앞 요소의 값에 1을 더한 값을 할당한다.
enum Dialog { YES = 10, NO, // 11 CANCEL, // 12 CONFIRM = 50, OK // 51 }