0Pricing
C# Academy · 강의

열거형 정의 및 사용

명시적 값과 암시적 값을 사용하는 열거형을 만듭니다.

열거형 정의 및 사용은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

열거형이란 무엇인가요

enum은 서로 관련된 상수에 이름을 지정하여 모아 놓은 집합입니다. 의미 없는 숫자를 의미 있는 이름으로 바꾸어 코드의 가독성을 높입니다.

using System;

enum Direction { North, East, South, West }
class Program {
    static void Main() {
        Direction d = Direction.East;
        Console.WriteLine(d);
    }
}

열거형 선언

enum 키워드로 열거형을 선언하고 멤버를 나열합니다. 기본적으로 첫 번째 멤버는 0, 다음 멤버는 1이 되며 이후에도 같은 방식으로 이어집니다.

using System;

enum Day { Mon, Tue, Wed }
class Program {
    static void Main() {
        Console.WriteLine((int)Day.Mon);
        Console.WriteLine((int)Day.Wed);
    }
}

사용자 지정 기반 값

숫자를 명시적으로 할당할 수 있습니다. 값을 지정하지 않은 멤버는 이전 값부터 계속 이어집니다.

using System;

enum Status { Active = 1, Paused = 5, Stopped }
class Program {
    static void Main() {
        Console.WriteLine((int)Status.Stopped);
    }
}

기반 형식 선택

열거형은 기본적으로 int를 사용하지만, 공간을 절약하기 위해 byte와 같은 다른 정수 형식을 선택할 수 있습니다.

using System;

enum Level : byte { Low = 1, High = 200 }
class Program {
    static void Main() {
        Console.WriteLine((byte)Level.High);
    }
}

변수에서 열거형 사용

다른 형식과 마찬가지로 열거형 형식을 변수, 매개변수 및 필드에 사용할 수 있습니다.

using System;

enum Color { Red, Green, Blue }
class Program {
    static void Describe(Color c) {
        Console.WriteLine("Color is " + c);
    }
    static void Main() {
        Describe(Color.Green);
    }
}

분기문에서 열거형 사용

열거형은 명확하고 모든 경우를 처리하는 분기를 위해 switch와 함께 사용하면 매우 유용합니다.

using System;

enum Signal { Stop, Go, Caution }
class Program {
    static void Main() {
        Signal s = Signal.Go;
        switch (s) {
            case Signal.Stop: Console.WriteLine("Halt"); break;
            case Signal.Go: Console.WriteLine("Move"); break;
            default: Console.WriteLine("Slow"); break;
        }
    }
}

열거형 값 비교

열거형 값은 == 및 순서 비교 연산자를 사용하여 기반 숫자에 따라 비교할 수 있습니다.

using System;

enum Priority { Low, Medium, High }
class Program {
    static void Main() {
        Console.WriteLine(Priority.High > Priority.Low);
    }
}

열거형 기본값

초기화하지 않은 열거형은 값이 0인 멤버와 같습니다. 0을 None과 같이 합리적인 기본값으로 지정하는 것이 좋습니다.

using System;

enum Mode { None, Fast, Slow }
class Program {
    static void Main() {
        Mode m = default;
        Console.WriteLine(m);
    }
}

열거형 이름 출력

ToString을 호출하거나 열거형을 출력하면 멤버 이름이 표시되므로 원시 숫자보다 훨씬 명확합니다.

using System;

enum Fruit { Apple, Banana, Cherry }
class Program {
    static void Main() {
        Console.WriteLine(Fruit.Banana.ToString());
    }
}

열거형으로 가독성 향상

열거형은 정수를 그대로 전달하는 것보다 의도를 명확히 표현하고 잘못된 값을 방지합니다.

using System;

enum Size { Small, Medium, Large }
class Program {
    static int PriceFor(Size s) {
        return s == Size.Large ? 12 : 8;
    }
    static void Main() {
        Console.WriteLine(PriceFor(Size.Large));
    }
}

열거형 선언 위치

열거형은 네임스페이스 수준이나 클래스 내부에 둘 수 있습니다. 열거형을 사용하는 코드 가까이에 배치하세요.

using System;

class Program {
    enum Phase { Start, Run, End }
    static void Main() {
        Console.WriteLine(Phase.Run);
    }
}

빠른 확인

열거형에 대한 이해도를 확인해 보세요.

요약

enum은 이름이 지정된 상수 집합을 정의하여 의미 없는 숫자를 사용하는 것보다 가독성을 높입니다. 멤버는 기본적으로 0, 1, 2...가 되지만 값을 명시적으로 지정하거나 기반 정수 형식을 변경할 수도 있습니다.

열거형은 변수, 분기문 및 비교에 잘 어울리고 멤버 이름을 출력하며, 기본값으로 값이 0인 멤버를 사용합니다.

자주 묻는 질문

“열거형 정의 및 사용” 강의는 무료인가요?

네 — “열거형 정의 및 사용” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“열거형 정의 및 사용”에서 뭘 배우나요?

명시적 값과 암시적 값을 사용하는 열거형을 만듭니다. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

C# Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“열거형 정의 및 사용” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 열거형 정의 및 사용
  2. Flags 열거형과 비트 조합
  3. 열거형 변환 및 구문 분석
  4. 열거형 값 순회
← C# Academy(으)로 돌아가기