본문 바로가기
Programming/Java

[Java] 자바 Enum 클래스 사용법 정리

by hyunipad 2022. 3. 18.
반응형

 Enum 이란?

Enum은 열거형(enumrated type)이라고 부르며, 서로 연관된 데이터를 가진 상수들의 집합을 관리해주는 클래스입니다.

public enum Day {
	월, 화, 수, 목, 금, 토, 일
}

Enum을 사용하면 다음과 같은 장점이 있습니다.

  1. Enum의 열거체를 비교할 때, 값뿐만 아니라 타입까지 체크하기 때문에 안정적입니다.
  2. 깔끔한 코드 작성이 가능합니다.
  3. 열거체를 값이 변경되더라도 다시 컴파일할 필요가 없습니다.

 

 

Enum 사용법

제가 생각하는 Enum의 가장 큰 장점은 열거체에 원하는 상수값을 명시할 수 있기 때문에, 값을 전달할 때 상수값이 무엇인지 신경 쓰지 않아도 된다는 것입니다. 아래의 코드를 보겠습니다.

public enum Day {
	월(1), 화(2), 수(3), 목(4), 금(5), 토(6), 일(7); // 요일에 상숫값을 설정

	private final int value;

	Day(int i) {
		this.value = i;
	}

	public int getValue() {
		return value;
	}
}

Enum 클래스를 생성하고 상숫값을 설정하면 메서드를 통해서 상수값을 호출할 수 있습니다.

만약 DB에서 요일을 int형으로 관리하고 있다면 DB에 값을 전달할 때, 어떤 상수값이 전달되는지 신경 쓰지 않아도 됩니다. 아래의 코드를 참고해주세요.

 

 

대표적인 Enum 메서드

values() 열거체의 모든 상수를 가진 배열을 반환
valueOf(String name) 문자열과 일치하는 해당 열거체의 상수를 반환
name() 해당 열거체의 상수를 반환
ordinal() 열거체에서 정의된 상수를 0부터 차례대로 반환

Enum에서 기본적으로 제공하는 메서드가 여럿있지만, 상수를 클래스로 관리하기 때문에 개발자가 직접 정의한 메서드를 추가할 수 있다는 것이 큰 장점입니다.

반응형

댓글