반응형
열거형이란?
열거형은 서로 관련된 상수를 편리하게 선언하기 위한 것, 여러 상수를 정의할 때 사용하면 유용하다.
열거형 정의
열거형 Direction의 선언에서 상수 하나하나는 각각 Direction 객체다.
// enum 열거형이름 { 상수명1, 상수명2, ... }
enum Direction { EAST, SOUTH, WEST, NORTH }
열거형 사용
열거형은 '열거형이름.상수명'으로 사용가능하다.
// '열거형이름.상수명'
class Unit {
int x, y;
Direction dir;
void init() {
this.dir = Direction.EAST;
}
}
열거형 상수간의 비교에는 '==' 비교 연산자를 사용할 수 있다. '<', '>' 와 같은 비교연산자는 사용할 수 없고 compareTo()는 사용 가능하다.
if (dir == Direction.EAST ) x++;
//else if (dir > Direction.WEST ) ... //Error;
else if (dir.compareTo(Direction.WEST) > 0) ...
Enum 클래스 메서드
T[] values() 열거형의 모든 상수를 배열에 담아 반환한다. (타입은 열거형 타입)
String name() 열거형 상수의 이름을 문자열로 반환한다.
int ordianl() 열거형 상수가 정의된 순서를 반환한다. (0부터 시작)
T valueOf(Class<T> enumType, String name) 지정된 열거형에서 name과 일치하는 열거형 상수를 반환한다.
'Java' 카테고리의 다른 글
[JAVA] JAVA에서 순열 (Permutation) (0) | 2021.06.02 |
---|---|
[JAVA] JAVA에서 조합 (Combination) (0) | 2021.06.01 |
[Java] HashMap 클래스 (0) | 2021.05.27 |
[Java] TreeSet 클래스 (0) | 2021.05.26 |
[Java] Comparator와 Comparable (0) | 2021.05.25 |