728x90
728x90

enum 2

Effective Java 3/E - 6장 열거 타입과 애너테이션 - 1

34. int 상수 대신 열거 타입을 사용하라 정수 열거 패턴의 단점 표현하기 복잡해진다. 타입 안전을 보장할 방법이 없다. 같은 값을 가지는 다른 값과 동등 비교시 컴파일러 단계에서 걸러낼 방법이 없다. 문자열로 출력하기 어렵고, 같은 열거 그룹의 값들에 대한 순회 방법이 마땅치 않다. 문자열 상수를 적용해도(문자열 열거 패턴), 출력하는 것 이상의 효과가 없고 하드코딩을 피할 수 없다. Enum 자바의 Enum은 완전한 형태의 클래스라서 다른 언어들과 비교해볼 때 더 강력한 Enum이다. Enum 타입 자체는 클래스고, 상수 하나당 자신의 인스턴스를 만들어 public static final로 공개한다. 밖에서 접근 가능한 생성자를 제공하지 않아, 사실상 final이다. 사실상 싱글턴을 일반화한 형태..

C#] 열거형(Enum Type)

### 열거형(Enum Type) 일련의 수치 상수들에 이름을 붙일 수 있는 특별한 형식열거형의 각 멤버에는 바탕 정수값이 존재하며, 이는 기본적으로 int형이며, 선언 순서대로 0, 1, 2가 배정됨.int 외의 형식을 배정하는 것도 가능하며, 명시적으로 바탕 정수 값 외의 값을 배정하는 것도 가능함. 더 나아가, 컴파일러는 열거형의 일부 멤버들에만 명시적으로 값을 배정하는 것도 허용함.이 경우 배정되지 않은 열거형 멤버들에게는 가장 최근 명시적으로 배정된 값을 차례로 증가한 값들이 배정됨. ## 변환 enum 인스턴스를 그 바탕 정수값으로, 그 반대로 변환 가능함.두 경우 모두 명시적 캐스팅(casting)이 필요. public enum BorderSide : byte { Left = 1, Right..

728x90