2013. 7. 25. 16:49

Enumeration, 열거형

 : 특정값만을 가질 수 있는 자료형

 

 

클래스를 작성할 때 enum 키워드를 사용한다.

enum Level

{

  ..

}

 

이런 enum 클래스는 스태틱 파이널 변수, 즉 상수만 선언할 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
enum City {
    서울, 인천, 부산
}
 
enum Color {
    RED, BLUE, GREEN, YELLOW
}
 
City c1; // 열거형 변수 선언
c1 = City.서울; // 열거형 상수 대입
 
System.out.println(c1); // → 서울
System.out.println(City.인천); // → 인천
 
 
City c2 = City.대구; //에러
Color c3 = City.BLACK; //선언하지 않은 상수는 사용할 수 없음

 

 

 

다음은 enum 클래스의 상수를 가져와 조건검색에 활용하는 예제다.

 

1
2
3
4
5
6
7
8
9
10
enum Level {
아주높음, 높음, 중간, 낮음, 아주낮음
}
 
Level user = Level.중간;
if (user == Level.아주높음) {
    ...
} else if (user == Level.아주낮음) {
    ...
}

 

 

 

enum 클래스의 상수는 내부적으로 정수타입을 갖는다. 즉 swith문에 사용 가능하다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
enum Color {
RED, BLUE, GREEN, YELLOW
//1,   2,    3,      4
}
 
Color c = Color.RED;
 
switch (c) {
case RED:
    System.out.println("빨간색 옷을 선택함"); break;
case YELLOW:
    System.out.println("노란색 옷을 선택함"); break;
}


'java' 카테고리의 다른 글

콘솔입력  (0) 2013.07.25
Exception, 예외  (0) 2013.07.25
Generic, 제네릭  (0) 2013.07.25
상속과 구현, 업캐스팅  (0) 2013.07.25
팩토리얼(재귀호출)  (0) 2013.07.25
Posted by 1+1은?