enum
열거형 타입(enumerated type)
미리 정해진 일정한 값을 가진 새로운 자료형을 사용자가 직접 만드는 것
문자열로 정의되어 있지만 내부적으로 정수로 취급되어서 배열로 처리하는 것보다 속도가 빠름~
예제
Enumeration(Enum)은 C, C++에서 사용하다가 java 1.5 에서 자바로 넘어오게 되었다.
자바에서의 enum이란
enum 상수로 정의해 사용할 수 있다.
enum 상수에 static final이 내재되어 있고 한번 만들어지면 바꿀수 없다.
자바안에서 enum타입은 안전하고 int변수처럼 swtich statement안에서 사용된다.
enum은 변수처럼 사용할수 없는 키워드이다.
예제
switch
여기서 case Kia를 쓸 경우 Car.Kia라고 안 쓰는 이유
switch에 enum이 들어올 경우 컴파일러가 알아서 case 쪽에는 그 enum 타입을 적용합니다.
enum안 내용보기
http://docs.oracle.com/javase/7/docs/api/
name() : 호출된 값의 이름을 리턴
ordinal() : 정의된 순서를 리턴. 0부터 시작
compareTo(E o) : E는 자기자신 이는 ordinal()을 호출해서 비교
valueOf(String arg) : String으로 넘긴 값을 기준 enum의 원소 가지고 온다.
Car.Kia = Car.valueOf("Kia")
valueOf(Class<T> class, String arg) : 클래스를 넘겨서 받음
Car.Kia = Car.valueOf(Car.class, "Kia")
values() : enum요소들을 enum타입의 배열로 리턴
Car.values() = new Car[]{Car.Kia, Car.hyundai}
참조
[http://iilii.egloos.com/4343065/]
[http://mwultong.blogspot.com/2006/10/java-enum-enumeration.html]
'Core Java > Java' 카테고리의 다른 글
Java 초급프로그래머 자료 (0) | 2012.11.21 |
---|---|
파일을 찾고 싶을때~ (0) | 2012.09.06 |
volatile (0) | 2012.08.19 |
Properties Class(2) XML로 쓰고 읽기 (0) | 2012.08.14 |
Properties Class (0) | 2012.08.13 |