Core Java/Java2012. 8. 15. 12:14

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
Posted by NeverTry