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

C++ 열거형(Enum) 완벽 가이드: 개념부터 활용 예제까지

C++에서 열거형(Enumerated type, Enum)은 개발자가 직접 정의하는 사용자 정의 데이터 타입입니다. 열거형을 사용하면 변수에 할당될 수 있는 값을 미리 정해진 범위로 제한할 수 있어, 코드의 가독성과 안정성을 크게 높일 수 있습니다.

예를 들어 성별처럼 '남성' 또는 '여성' 두 가지 값만 가질 수 있는 데이터를 다룰 때, 임의의 숫자나 문자열 대신 열거형으로 명확하게 표현하면 실수를 줄이고 의미를 분명히 전달할 수 있습니다.

열거형 기본 문법

열거형은 enum 키워드를 사용하여 선언합니다. 중괄호 안에 나열된 각 항목(열거자)에는 내부적으로 0부터 시작하는 정수 값이 순서대로 할당됩니다.

예제 코드

#include <bits/stdc++.h>
using namespace std;

int main() {
    // 열거형 Gender 정의
    enum Gender {
        Male,
        Female
    };

    // 열거형 변수 선언 및 초기화
    Gender gender = Male;

    switch (gender) {
        case Male:
            cout << "Gender is Male";
            break;
        case Female:
            cout << "Gender is Female";
            break;
        default:
            cout << "Value can be Male or Female";
    }

    return 0;
}

실행 결과

Gender is Male

코드 설명

위 예제에서는 Gender라는 이름의 열거형을 정의하고, MaleFemale이라는 두 개의 열거자를 포함시켰습니다. 이때 Male은 내부적으로 0, Female은 1의 정수 값을 가집니다.

변수 genderMale을 할당한 후 switch문으로 값을 검사하면, 해당하는 case 블록이 실행되어 결과로 "Gender is Male"이 출력됩니다.

열거형을 사용하는 이유

  • 가독성 향상: 숫자 대신 의미 있는 이름(Male, Female)을 사용해 코드를 쉽게 이해할 수 있습니다.
  • 타입 안정성: 정의되지 않은 값의 할당을 방지하여 버그 발생 가능성을 줄입니다.
  • 유지보수 용이: 새로운 값 추가나 변경 시 열거형 정의만 수정하면 되므로 관리가 편리합니다.

이처럼 C++의 열거형은 선택지가 제한적인 데이터를 다룰 때 매우 유용한 도구입니다. C++11부터는 enum class(강력한 타입의 열거형)도 지원되므로, 더 엄격한 타입 검사가 필요하다면 함께 활용해 보시기 바랍니다.