[C#] enum을 쓰는 이유...
① 기억이 용이하다.
enum대신 정수형 변수를 대신 사용할 수 도 있다. 하지만, 이렇게 될때 각 정수의 의미가 무엇인지를 만드는 사람이 기억하고 있어야 한다. 값이 많아질 수록 혼란스러울거다. 보통, 사람은 숫자보다 문자를 더 잘 기억한다. 그리고, enum의 원소들을에게 의미를 부여한 이름을 준다면 더 기억하기가 쉬울 것이다.
② 소스의 가독성(Readability)이 높아진다.
enum의 원소만 봄으로써, 그 상수의 의미를 보다 쉽게 파악 할 수 있고, 소스 전체의 가독성을 높이는데 도움이 된다. 예를 들어 whatdays = 0; 이라고 표현한다면, 이게 월요일인지,, 일요일인지, 도무지 알 길이 없다. 하지만 whatdays = mon; 이라고 한다면, 두말할나위없이 이해할 수 있다. 두명이상의 Project나 팀단위 작업을 할때에는 알고리즘을 아무리 잘 짜도 소스가 X같으면, 프로젝트 진행이 어려워진다. 따라서 이런 팀단위 작업에는 가독성이 아주 중요시 된다.
③ 안전하다.
앞서 예를든 days에 대입될수 있는 값은 7개중 하나로 제한이 되기때문에 사용자의 실수를 컴파일러가 미리 예방해줄 수 있다. 따라서 변수형을 사용하는것보다 안전하다.
여기서 잠깐!
enum을 보다 효율적으로 사용하는 방법은
typedef를 사용하는 것이다.
바로 예부터 보자면...
typedef enum CDays {enum {mon, tue, wed, thr, fri, sat, sun };
이제 CDays는 하나의 타입으로 생성된 것이다.
CDays WhatDay(); 와 같이 오늘이 몇요일인지 리턴하는 함수를 작성 할 수도 있다.
CDays Day = WhatDay();
와 같이 Enum을 효과적으로 처리할 변수를 만들어 사용할 수 있다.
'프로그래밍 > Language C#' 카테고리의 다른 글
Modbus RTU, CRC (0) | 2014.01.21 |
---|---|
[Design Pattern] Singleton Pattern (싱글톤 패턴) (0) | 2013.12.26 |
[C#] 통합 개발 환경 [integrated development environment] (0) | 2013.12.23 |
[C#] 엔터키 이벤트(KeyEvent) (0) | 2013.11.22 |
[C#] System.Security.SecurityException Window Serveice 등록시 Install Error (0) | 2013.07.23 |
댓글
이 글 공유하기
다른 글
-
Modbus RTU, CRC
Modbus RTU, CRC
2014.01.21 -
[Design Pattern] Singleton Pattern (싱글톤 패턴)
[Design Pattern] Singleton Pattern (싱글톤 패턴)
2013.12.26 -
[C#] 통합 개발 환경 [integrated development environment]
[C#] 통합 개발 환경 [integrated development environment]
2013.12.23 -
[C#] 엔터키 이벤트(KeyEvent)
[C#] 엔터키 이벤트(KeyEvent)
2013.11.22