본문 바로가기
스터디/2209_자바의정석

11주차 과제 : Enum

by Jeong.dev 2022. 10. 18.

📌 enum 정의하는 방법

열거형(enum)이란

- 관련된 상수들을 같이 묶어 놓은 것.

- == 사용 시 Java는 열거형의 값과 타입을 모두 체크함

 

열거형 정의 방법

// enum 열거형이름{ 상수명1, 상수명2, ... }

enum Direction { EAST, SOUTH, WEST, NORTH }

class Unit {
	Direction dir; // 열거형을 인스턴스 변수(iv)로 선언
    
    void init(){
    	dir = Direction.EAST; 
    }    
}

 

 

📌enum이 제공하는 메소드 (values()와 valueOf())

- values() : 열거형의 모든 상수를 배열에 담아 반환

- valuesOf(String name) : 열거형 상수의 이름으로 문자열 상수에 대한 참조를 얻을 수 있음

- values(), valuesOf(String name) 모두 컴파일러가 자동적으로 추가해는 메서드임

Direction[] arr = Direction.values();

Direction d = Direction.valuesOf("WEST"); // d에 Derection.WEST 값 들어감

 

 

 

📌 java.lang.Enum

- 모든 열거형은 Enum의 자손이며, 아래 메서드 상속받는다.

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

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

- T valueOf(Class<T> enumType, String name), Class<E> getDeclaringClass()

 

 

 

📌EnumSet

- 열거형 타입과 함께 사용하기 위한 Set 구현체

 

 

 

[참고]

- 자바의정석

- https://parkadd.tistory.com/m/50

'스터디 > 2209_자바의정석' 카테고리의 다른 글

13주차 과제 : I/O  (0) 2022.11.04
12주차 과제 : 애너테이션  (0) 2022.10.25
10주차 과제 : 멀티쓰레드 프로그래밍  (0) 2022.10.18
8주차 과제 : 인터페이스  (0) 2022.10.11
7주차 과제 : 패키지  (0) 2022.10.06

댓글