ENUM

이재연·2021년 2월 21일
0

Java Basic

목록 보기
11/15

enum이란?

상수를 보기쉽고 안전하게(type-safe) 사용 할 수 있다.
자바에서는 enum 객체를 지원하기 때문에 객체의 특성을 활용 할 수 있다.

enum 정의하는 방법

enum Food{
	HAMBURGER, PIZZA;
}

가장 먼저 선언한 값은 상수 0값을 가지고 1씩 증가한다.

열거체의 상수값을 문자열과 함께 사용 할 수 있다.

enum Food{
	HAMBURGER("햄버거"),
	PIZZA("피자");

	private final String name;
    
	Food(String name){
		this.name= name;
	}
	public String getName(){
		return this.name;
	}
}

enum이 제공하는 메소드

사용자가 정의하지 않아도 컴파일러가 자동으로 추가해준다.

  • values()

values()는 정의된 모든 값을 리스트 형식으로 반환한다.

for (Object food : Food.values()) {
	System.out.println(food.toString());
}

결과

HAMBURGER 
PIZZA
  • valueOf()
    valueOf()는 해당하는 값을 반환한다.
Food hamburger = Food.valueOf("HAMBURGER");
Food pizza = Enum.valueOf(Food.class, "PIZZA");
System.out.println(hamburger);
System.out.println(pizza);

결과

HAMBURGER 
PIZZA

java.lang.Enum

자바 열거타입의 상위 클래스이다.

valueOf(), values(), compareTo(), ordinal(), name() 등 기본 메소드가 정의되어 있다.

ordinal() : 상수의 순서를 반환한다.

name() : 상수의 이름을 반환한다.

EnumSet

Set의 자료구조 특성을 띄며, enum 사용에 특화 된 자료구조이다.

static으로 정의되어 있어서 인스턴스 생성 없이 사용 가능하다.

EnumSet es = EnumSet.of(Food.HAMBURGER, Food.PIZZA);

0개의 댓글