728x90
- 관련된 상수들을 같이 묶어 놓은 것
- 비교연산자는 사용 불가
- ==, compareTo() 메소드는 사용가능
- 상수 하나하나가 객체라 비교형을 사용할 수 없고 equals 메소드는 사용 가능
// 기본적으로 값은 0부터 순서대로 주어짐
enum 열거형명 {상수명1, 상수명2, 상수명3, ...}
// 열거형 상수를 이용하는 법
열거형명.상수명
열거형명.valueOf(상수명);
Enum.valueOf(열거형명.class, 상수명);
Enum 클래스
모든 열거형의 조상 클래스로 열거형에서 해당 클래스의 메소드들을 모두 사용할 수 있음
메소드
getDeclaringClass()
열거형의 클래스 객체를 반환
name()
열거형 상수의 이름을 문자열로 반환
ordinal()
열거형 상수가 정의된 순서를 반환 (0부터 시작)
valueOf()
지정된 열거형에서 name과 일치하는 열거형 상수를 반환
values()
열거형 상수가 가지고 있는 모든 상수를 배열로 반환
열거형에 멤버 추가
// 열거형의 생성자는 항상 private으로 지정되어 외부에서 호출 불가
// 불연속적인 열거형 상수인 경우 괄호를 사용해서 값을 넣을 수 있음
// 인스턴스 변수와 생성자를 새로 추가한 후에
enum Direction {
EAST(1), SOUTH(5), WEST(-1), NORTH(10);
private final int value; // 정수를 저장할 필드 추가
Direction(int value) { this.value = value; } // 생성자 추가
prublic int getValue() { return value; }
}
'Java > Notion' 카테고리의 다른 글
Thread (0) | 2023.05.02 |
---|---|
애너테이션 (0) | 2023.05.02 |
Generics (0) | 2023.05.01 |
컬렉션 프레임워크 - Collections 클래스 (0) | 2023.05.01 |
Map - HashMap / Hashtable (0) | 2023.05.01 |