본문 바로가기
C#/C# 공부

C#: 열거 형식 (enum)

by TODAYCODE 2021. 7. 10.
반응형

열거 형식을 선언하는 방식

enum 열거형식명 : 기반자료형 { 상수1, 상수2, 상수3, ... }

ex) enum MessageResult { YES, NO, CANCEL, OK }

기반자료형을 생략하고 사용할 수 있다. 생략할 경우 자동으로 int를 기반자료형으로 인식한다.

 

열거형태로 선언할 경우 전부 상수로 처리된다.

 

 

열거형식을 사용하는 이유.

1. 종류는 같지만 다른 값을 갖는 상수를 여러개 선언해야할 때.

2. 상수를 선언하는 과정에서의 실수를 방지하기 위해서.

 

ex)

메세지 박스로 사용자의 응답을 받을 때 -> YES, NO, CANCEL, OK 등이 존재할 수 있다.

이들을 상수로 선언해서 사용할 때 enum으로 묶어서 한번에 선언할 수 있다.

YES를 누르면 1, NO를 누르면 2, CANCEL을 누르면 3으로 값을 받아와서 처리한다고 했을 때 실수로 같은 값을 할당해놓으면 에러가 발생하게 된다.

enum형을 사용하게 되면 차례로 상수값을 할당해주기 때문에 프로그래머가 실수하게 될 일이 없다.

 

 

enum MessageResult = { YES, NO, CANCEL, OK } 으로 선언하는 경우

YES를 0으로 시작해서 1씩 증가된 값이 자동으로 할당된다.

 

 

실제로 변수를 선언해서 사용하는 예시.

MessageResult result = MessageResult.NO;

이렇게 쓰게 되면 NO라는 값을 보관하는 result변수를 선언한것이 되고 이 변수를 사용할 수 있게 된다.

MessageResult result = 1;

이라고 사용하는 것보다 훨씬 직관적이고 프로그래머가 이해하기가 쉽다.

 

 

 

p.s.

enum MessageResult = { YES = 10, NO, CANCEL = 20, OK }

 

위에처럼 enum 형식을 선언할 때 직접 값을 입력할 수도 있다.

입력한 숫자를 기준으로 다음번부터는 +1 값이 입력된다.

10, 11, 12, 20, 21 이런식으로 enum형에 할당됨.

반응형

댓글