본문 바로가기
프로그래밍 놀이터/C, C++, C#, VB

[Java 개발자가 공부해본 C#] Java와 C# enum 의 차이점.

by 돼지왕 왕돼지 2012. 4. 15.
반응형


안녕하세요 돼지왕왕돼지입니다.

오늘은 Java 와 C# enum 의 차이점에 대해 알아보겠습니다.


C# 의 enum

C#의 enum은 element 들의 값이 type 을 가질 수도 있고, 값도 가질 수 있습니다.

enum SEASON : int { SPRING, SUMMER, FALL, WINTER }

 
위와 같이 계절을 define 하면, SPRING, SUMMER, FALL, WINTER 는 각각 0, 1, 2, 3 의 integer 값을 갖게 됩니다. type 을 생략했을 경우는 자동으로 int 가 type 으로 사용되며, value 를 생략했을 경우는 0 부터 차례로 assign 됩니다. 

enum SEASON { SPRING = 5, SUMMER, FALL = 10, WINTER }


위와 같이 enum 을 define 했을 때 SPRING 은 5, SUMMER 는 6, FALL 은 10, WINTER 는 11 값을 가지게 됩니다.

enum 값을 print 할 때는 element 값이 그대로 출력됩니다.

<C# 코드>

Console.WirteLine( SEASON.SPRING );


<결과값>

SPRING


print 할 때는 element 값이 그대로 출력되지만, 값이 할당되기 때문에 값 비교도 물론 가능합니다.




Java 의 enum

C# 과 달리 Java 의 enum 은 값을 기본으로 갖지 않습니다. 기본값을 주려면 다음과 같이 해주어야 합니다.

enum SEASON{

SPRING( 0 ), SUMMER( 1 ), FALL( 2 ), WINTER( 3 );


private final int value;

SEASON( int value ){

this.value = value;

}

public int getValue(){

return value;

}

}


Java 의 enum은 class 처럼 사용됩니다. ( 사용 format 이 조금 다르기는 하지만 말이죠. )


그 외의 기본 사용은 C#과 Java 가 같습니다. 



반응형

댓글