Contents
접기
728x90
열거형(Enum)은 이름이 붙은 상수들의 집합을 정의할 수 있는 데이터 형식이다.
값에 의미 있는 이름을 부여하여 코드의 가독성과 유지보수성을 높이는 데 유용하다.
열거형이란?
- 기본적으로 정수형 상수들의 집합
- 관련된 값들을 그룹화할 수 있음
- 기본 값은 int이며, 0부터 시작
기본 문법
enum 요일 {
월, 화, 수, 목, 금, 토, 일
}
이렇게하면, 값을 할당하지 않아도 기본적으로 월=0, 화=1, ...이런식으로 0부터 자동으로 값이 할당된다.
- 명시적으로 값 지정도 가능하다.
enum 상태 {
대기 = 1,
진행중 = 2,
완료 = 3
}
📝 추가 사용예시
enum 상태 {
대기,
진행중,
완료
}
class Program {
static void Main() {
상태 현재상태 = 상태.진행중;
Console.WriteLine(현재상태); // 출력: 진행중
Console.WriteLine((int)현재상태); // 출력: 1, int로 캐스팅
}
}
enum과 switch문 함께 사용
enum은 switch 문과 같이썼을때 효율이 좋다. 왜냐면 switch문은 숫자와 같은 값일때 실행되는데, 명시적으로 숫자가 어떤 것인지 enum을 통해 정해둘 수 있기 때문이다.
void 상태확인(상태 상태값) {
switch (상태값) {
case 상태.대기:
Console.WriteLine("작업을 기다리는 중입니다.");
break;
case 상태.진행중:
Console.WriteLine("작업이 진행 중입니다.");
break;
case 상태.완료:
Console.WriteLine("작업이 완료되었습니다.");
break;
}
}
enum캐스팅 예시
1. enum → int (숫자로 변환)
enum 요일 {
월, 화, 수, 목, 금, 토, 일
}
요일 today = 요일.수;
int todayValue = (int)today;
Console.WriteLine(todayValue); // 출력: 2
요일.수는 내부적으로 2라는 값을 가지므로 (int)를 통해 숫자로 변환 가능
2. int → enum (숫자 → 열거형 값)
int value = 3;
요일 day = (요일)value;
Console.WriteLine(day); // 출력: 목
정수 3을 요일 enum 타입으로 캐스팅하면, 요일.목이 출력
정리
✔ enum은 관련된 상수 값을 하나의 이름으로 그룹화
✔ 코드의 가독성과 명확성을 높여줌
✔ switch-case, 조건문 등과 함께 사용하면 코드 관리가 쉬움
✔ 숫자 대신 의미 있는 이름으로 코딩 가능
728x90
'C# > 데이터다루기' 카테고리의 다른 글
[C#] 제네릭(Generic) (0) | 2025.05.26 |
---|---|
[C#] C#에서 new()만 써도 된다? (0) | 2025.05.20 |
[C#] 문자열 처리 기능 및 메서드 (0) | 2025.04.14 |
[C#] 리터럴(literal) (0) | 2025.04.14 |
[C#] Escape Sequence (0) | 2025.04.14 |