C++ 열거 상수(Enumerated Constants)란 무엇인가?
열거형(enumerated type)은 선택적인 타입 이름과, 해당 타입의 값으로 사용할 수 있는 하나 이상의 식별자 집합을 선언하는 자료형입니다. 각 열거자(enumerator)는 그 타입이 곧 열거형 자체인 상수이며, 이를 열거 상수(enumerated constants)라고 부릅니다.
열거형은 변수가 가질 수 있는 값의 종류가 미리 정해져 있을 때 특히 유용합니다. 예를 들어 성별(gender)을 나타내는 변수가 남성(MALE), 여성(FEMALE), 기타(OTHERS)라는 세 가지 값만 가진다고 가정해 보겠습니다. 이 경우 다음과 같이 enum을 정의하고 사용할 수 있습니다.
#include <iostream>
using namespace std;
enum Gender { MALE, FEMALE, OTHERS };
int main() {
Gender gen = FEMALE; // 또는 Gender::FEMALE
return 0;
}
열거 상수의 기본값 규칙
기본적으로 첫 번째 이름의 값은 0, 두 번째 이름은 1, 세 번째 이름은 2처럼 순서대로 1씩 증가합니다. 필요하다면 아래와 같이 특정 열거자에 원하는 값을 직접 지정할 수도 있습니다.
enum Gender { MALE = 10, FEMALE = 20, OTHERS = 30 };다만 이러한 실제 숫자 값 자체는 크게 중요하지 않습니다. enum은 본질적으로 값에 기호적(symbolic) 의미를 부여하기 위해 사용되기 때문입니다. 프로그램에서 열거형을 비교하거나 사용할 때는 내부의 숫자 값이 아니라 그 기호적 의미를 활용하게 되며, 덕분에 코드의 가독성과 유지보수성이 크게 향상됩니다.