1. enum이란?
enum(열거형)은 관련된 상수들의 집합을 정의하는 C#의 데이터 타입입니다. enum을 사용하면 특정한 값들의 집합을 논리적으로 그룹화할 수 있고, 코드의 가독성과 유지보수성을 높일 수 있습니다. 각 enum 멤버는 자동으로 정수 값(int)과 연결되며, 기본적으로 첫 번째 멤버는 0, 그 다음 멤버들은 1씩 증가한 값을 가집니다.
2. enum의 선언
enum은 클래스나 구조체 "외부" 또는 "내부"에서 선언할 수 있습니다.
위의 enum 선언에서 DayOfWeek는 7개의 멤버를 가진 열거형입니다. Sunday는 기본값인 0을 가지며, 이후의 멤버들은 순차적으로 1씩 증가한 값을 가집니다.
3. enum 사용 예시
DayOfWeek today = DayOfWeek.Wednesday;: enum 타입 변수를 선언하고 값을 할당합니다.
(int)today: enum 값을 정수 값으로 변환합니다.
4. enum의 기본값 변경
기본값(정수값)을 변경할 수 있습니다. 이렇게 하면 특정 멤버에 원하는 정수값을 할당할 수 있습니다.
위 예제에서 Sunday는 1로 시작하며, 이후 멤버들은 순차적으로 증가합니다. Wednesday는 10으로 설정되어, 이후 멤버들도 이에 따라 11, 12, 13으로 증가합니다.
5. enum의 활용 예시
상태 관리
설명: OrderStatus 열거형은 주문의 상태를 나타내며, Pending, Processing, Shipped, Delivered, Cancelled와
같은 상태를 관리하는 데 사용됩니다. Order 클래스에서 주문 상태를 관리하는 데 enum을 사용하여 상태를
명확하게 표현할 수 있습니다.
비트 필드 플래그(Flags)
enum에 [Flags] 특성을 사용하면 비트 필드를 나타낼 수 있으며, 이를 통해 여러 값을 결합하여 사용할 수 있습니다.
설명: FileAccess 열거형은 파일에 대한 접근 권한을 나타냅니다. [Flags] 속성을 사용하면,
비트 단위로 열거형 값을 결합할 수 있으며, 비트 연산을 통해 특정 권한이 설정되었는지 확인할 수 있습니다.
6. enum을 사용하는 이유
코드의 가독성 향상 : 숫자 대신 의미 있는 이름을 사용하여 코드의 가독성을 높입니다.
타입 안정성 제공 : 잘못된 값이 할당되는 것을 방지할 수 있습니다. 열거형에 정의되지 않은 값은 사용될 수 없습니다.
유지보수성 향상 : 열거형을 사용하면 코드 변경이 필요한 경우, 열거형 정의를 변경하는 것만으로도 관련된 모든 코드를 일관되게 업데이트할 수 있습니다.
명확한 상태 표현: 특정 상태나 옵션을 명확하게 정의하고 사용할 수 있습니다.
7. enum을 사용할 때 고려할 점
기본적으로 enum은 int 기반: enum은 기본적으로 int 값을 가지지만, 필요한 경우
byte, sbyte, short, ushort, uint, long, ulong 등의 다른 기본 타입도 사용할 수 있습니다.
예를 들어:
값의 의미 명확화: 열거형은 특정 값의 의미를 명확하게 하기 위해 사용됩니다.
예를 들어, 색상을 표현할 때 1 대신 Color.Red를 사용하는 것이 의미를 명확히 합니다.
enum은 다양한 상황에서 유용하게 사용할 수 있는 데이터 타입입니다.
특히 상태 관리, 플래그 비트 필드, 옵션 설정 등에서 열거형을 사용하면 코드의 가독성과 유지보수성을 크게 높일 수 있습니다.
'C# 기초 배워보기' 카테고리의 다른 글
C# Stack! (0) | 2024.08.14 |
---|---|
C# 형변환2(캐스팅과 형변환)! (0) | 2024.08.12 |
C# 람다식! (0) | 2024.08.12 |
C# 전역변수와 지역변수! (0) | 2024.08.09 |
C# 재귀함수를 이해해보자! (0) | 2024.08.08 |