1. enum이란?
enum(열거형)은 관련된 상수들의 집합을 정의하는 C#의 데이터 타입입니다. enum을 사용하면 특정한 값들의 집합을 논리적으로 그룹화할 수 있고, 코드의 가독성과 유지보수성을 높일 수 있습니다. 각 enum 멤버는 자동으로 정수 값(int)과 연결되며, 기본적으로 첫 번째 멤버는 0, 그 다음 멤버들은 1씩 증가한 값을 가집니다.

2. enum의 선언
enum은 클래스나 구조체 "외부" 또는 "내부"에서 선언할 수 있습니다.

클래스 내부에 선언한 enum

 

위의 enum 선언에서 DayOfWeek는 7개의 멤버를 가진 열거형입니다. Sunday는 기본값인 0을 가지며, 이후의 멤버들은 순차적으로 1씩 증가한 값을 가집니다.

3. enum 사용 예시

기본enum 사용 예시

 

DayOfWeek today = DayOfWeek.Wednesday;: enum 타입 변수를 선언하고 값을 할당합니다.
(int)today: enum 값을 정수 값으로 변환합니다.


4. enum의 기본값 변경
기본값(정수값)을 변경할 수 있습니다. 이렇게 하면 특정 멤버에 원하는 정수값을 할당할 수 있습니다.

Wednesday의 기본 정수값 변경

 

위 예제에서 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

+ Recent posts