열거형 enum

김예지·2023년 1월 10일
0

여러개의 상수를 관리할 때 편리하게 선언하는 방식이다
enum 열겨형 이름 { 상수명1, 상수명2 }

enum Direction { EAST, SOUTH, WEST, NORTH }

사용법 >>

class Unit{
	Direction dir; // 열거형 인스턴스 변수를 선언 

	void init(){
		dir = Direction.EAST;
	}
}

열거형 상수간의 비교는 '=='를 사용 할 수 있다 하지만 비교연산자 '>' , '<' 는 사용이 불가능하다 대신 compartTO()는 사용이 가능함

dir == Direction.EAST 가능
dir > Direction.EAST 불가능
dir.compareTo(Direction.WEST) > 0 가능

열거형 메소드 종류
Class getDeclaringClass() 열거형의 Class객체를 반환한다
String name() 열거형 상수의 이름을 문자열로 반환한다
int ordinam() 열거형 상수가 정의된 순서를 반환한다 (0부터) 값과는 무관, 단순히 순서만 지정됨
T valueOf(Class enumType, String name) 지정된 열거형에서 name과 일치하는 열거형 상수를 반환한다

열거형의 멤버 추가하기

enum Direction{
EAST(1) , SOUTH(5) , WEST(-1) , NORTH(10); 
private final int value; // 열거형의 상수값을 저장하기 위해 final로 하는 것이 좋다 
Direction(int value) {this.value = value; } // 접근 제어자 private가 디폴트 열거형 생성자는 외부에서 호출 불가능
public int getValue() {return value;}
}
profile
나만의 방식을 찾아가는 신입신입 개발자

0개의 댓글