Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 열거형(Enum)을 정의하는 방법

C++에서 열거형(Enum) 정의하기

열거형(enumerated type)은 선택적인 타입 이름과, 해당 타입의 값으로 사용할 수 있는 0개 이상의 식별자 집합을 선언하는 자료형입니다. 각 열거자(enumerator)는 그 타입이 열거형인 상수로 취급됩니다.

열거형은 어떤 변수가 가질 수 있는 값의 종류가 고정되어 있을 때 특히 유용합니다. 예를 들어 성별(gender)을 나타내는 변수가 있다고 가정해 보겠습니다. 성별은 남성(MALE), 여성(FEMALE), 기타(OTHERS)라는 세 가지 값만 가질 수 있습니다. 이런 경우 다음과 같이 enum을 정의하고 사용할 수 있습니다.

#include<iostream>
using namespace std;

enum Gender {MALE, FEMALE, OTHERS};

int main() {
    Gender gen = FEMALE;
    return 0;
}

열거형의 기본값

기본적으로 첫 번째 이름에는 0, 두 번째 이름에는 1, 세 번째 이름에는 2처럼 순차적인 정수 값이 자동으로 할당됩니다. 즉, 위 예제에서 MALE은 0, FEMALE은 1, OTHERS는 2의 값을 가집니다.

다만 이러한 실제 값 자체는 크게 중요하지 않습니다. 열거형은 본질적으로 값에 기호적(symbolic) 의미를 부여하기 위해 사용되기 때문입니다. 프로그램 내에서 열거형을 비교하거나 사용할 때는 실제 정수 값이 아니라 그 기호적 의미를 활용하게 됩니다.

열거자에 명시적으로 값 지정하기

필요하다면 열거자에 원하는 값을 직접 지정할 수도 있습니다. 이후의 열거자는 지정된 값부터 다시 1씩 증가합니다.

enum Gender {MALE = 1, FEMALE = 2, OTHERS = 3};

이처럼 열거형을 사용하면 코드의 가독성이 높아지고, 허용되는 값의 범위를 명확하게 표현할 수 있어 유지보수에도 도움이 됩니다.