본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Java] enum 에 대한 자세한 이야기.

by 돼지왕 왕돼지 2013. 9. 17.
반응형


 자바, enum 에 대한 자세한 이야기.

 

[Java] enum 에 대한 자세한 이야기.


enum 은 특수한 형태의 class 이다.

이 class 에는 기본적으로 다음 2개의 함수들이 제공된다.


values() : enum 안에 정의된 값들을 enum 타입의 배열로 return

ordinal() : enum 안에 정의되어 있는 각 값들의 인덱스 번호를 반환.


values() 는 iteration 용으로 사용하기 좋은데, ordinal() 의 경우는 사실 EnumSet 이나 EnumMep 등에서 사용하기 위해서 고안된 녀석, 즉 내부적인 사용용도로 고안되기 때문에 일반 유저가 사용하는 것은 비추된다. 그 이유는 ordinal 이라는 것이 정의순서에 기인하는데, 이는 enum 의 설계목적 자체에서 어긋나버린다. 따라서 만약 값이 따로 필요하다면 다음과 같이 사용하는 것이 좋다.


public enum Coins{

Sun( 1 ), Mon( 2 ), Tue( 3 ), Wed( 4 ), ....

private final int num;


public Coins( int num ){

this.num = num;

}


public int getValue(){

return num;

}

}










반응형

댓글