Java

[Java] 열거형 enums

씬프 2021. 5. 28. 10:17
반응형

열거형이란?

열거형은 서로 관련된 상수를 편리하게 선언하기 위한 것, 여러 상수를 정의할 때 사용하면 유용하다.

 

열거형 정의

열거형 Direction의 선언에서 상수 하나하나는 각각 Direction 객체다.

// enum 열거형이름 { 상수명1, 상수명2, ... }
enum Direction { EAST, SOUTH, WEST, NORTH }

열거형 사용

열거형은 '열거형이름.상수명'으로 사용가능하다.

// '열거형이름.상수명'
class Unit {
  int x, y;
  Direction dir;
  
  void init() {
    this.dir = Direction.EAST;
  }
}

열거형 상수간의 비교에는 '==' 비교 연산자를 사용할 수 있다. '<', '>' 와 같은 비교연산자는 사용할 수 없고 compareTo()는 사용 가능하다.

if (dir == Direction.EAST ) x++;
//else if (dir > Direction.WEST ) ... //Error;
else if (dir.compareTo(Direction.WEST) > 0) ...

 

Enum 클래스 메서드

T[] values() 열거형의 모든 상수를 배열에 담아 반환한다. (타입은 열거형 타입)

String name() 열거형 상수의 이름을 문자열로 반환한다.

int ordianl() 열거형 상수가 정의된 순서를 반환한다. (0부터 시작)

T valueOf(Class<T> enumType, String name) 지정된 열거형에서 name과 일치하는 열거형 상수를 반환한다.

 

'Java' 카테고리의 다른 글

[JAVA] JAVA에서 순열 (Permutation)  (0) 2021.06.02
[JAVA] JAVA에서 조합 (Combination)  (0) 2021.06.01
[Java] HashMap 클래스  (0) 2021.05.27
[Java] TreeSet 클래스  (0) 2021.05.26
[Java] Comparator와 Comparable  (0) 2021.05.25