안녕하세요 돼지왕왕돼지입니다.
오늘은 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 가 같습니다.
'프로그래밍 놀이터 > C, C++, C#, VB' 카테고리의 다른 글
무료인데는 이유가 있다. Visual Studio Express Edition 의 단점 (7) | 2013.05.23 |
---|---|
[VB] 이미지 불러와서 Resize 해서 PictureBox 에 붙이기. (0) | 2013.05.18 |
[Java 개발자가 공부해본 C#] 형 변환 ( Type Conversion ) 시 주의할 점 (0) | 2012.04.15 |
[Java 개발자가 공부해본 C#] C#에서 제공하는 Data Type. (0) | 2012.04.15 |
[Java 개발자가 공부해본 C#] Stack Memory, Heap Memory, Variable, Reference 의 관계 (0) | 2012.04.15 |
댓글