728x90
1. 열거형의 도입
열거형은 다음과 같은 이유에 의해 생겨났다.
(1) 서로 관련된 다수의 상수를 묶기 위함.
(2) 값과 타입 둘 다 체크하기 위함.
class Card {
static final int CLOVER = 0;
...
static final int TWO = 0;
...
final int kind;
final int num;
}
(2): Card.CLOVER == Card.TWO // True이지만 의미상 같으면 안된다. 열거형 Kind와 Value를 각각 만들게 된다면 false가 나온다.
2. 열거형 정의와 사용
1) 정의
열거형은 생성자가 private인 클래스라고 생각하면 된다.
enum Direction {
EAST(1, ">"), WEST(2, "<"), ... ;
private final int value;
private final String symbol;
(private) Direction (int value, String symbol) {
...
}
}
2) 사용
열거형의 조상은 java.lang.Enum이고 다음과 같은 메서드를 제공한다.
String name() : 열거형 상수의 이름을 문자열로 반환
int ordinal() : 열거형 상수가 정의된 순서 반환 (0부터 시작, 위의 enum Direction의 value와 헷갈리지 않도록 주의)
values() : 열거형의 모든 상수를 배열로 반환
valueOf(... , String name): name과 일치하는 열거형 상수를 반환
반응형
'자바 (Java) > 요약' 카테고리의 다른 글
Chpt 12. 지네릭스, 열거형, 애너테이션 - 주제 4. 애너테이션 (0) | 2023.11.10 |
---|---|
Chpt 12. 지네릭스, 열거형, 애너테이션 - 주제 2. 지네릭스의 타입 (0) | 2023.11.10 |
Chpt 12. 지네릭스, 열거형, 애너테이션 - 주제 1. 지네릭스 (0) | 2023.11.10 |
Chpt 11. 컬렉션 프레임워크 - 주제 7. Comparator vs. Comparable (0) | 2023.11.08 |
Chpt 11. 컬렉션 프레임워크 - 주제 5. Map 인터페이스와 구현 클래스들 (0) | 2023.11.08 |