[테크 톡 - 15주차] Enum

728x90

 📌 Enum이란?

- 열거형 타입(Enumerated Type)을 줄여서 Enum이라고 부른다.

- 상수 값을 대표하는 이름의 멤버들로 집합을 이루는 열거 자료형 타입
  상수 : 변하지 않는 값으로 정수, 문자열 등 여러가지 자료형들을 상수로 정의 할 수 있다.
  이름 외 값을 갖지 않으면 이름이 그 자체로 상수가 된다. 

- 상속이나 인스턴스를 생성 할 수 없다.

 

 📌 Enum을 사용하는 이유

- 코드가 단순해지고 가독성이 좋아진다.

- 인스턴스 생성과 상속을 방지하여 상수 값의 타입 안정성이 보장된다. 

- 구현의 의도가 열거임을 분명하게 알 수 있다. 

- 데이터 값의 의미를 명확하게 알 수 있다.

- 컴파일 시 데이터 타입 및 유효성 체크를 할 수 있다.

 

 📌 Enum 사용방법

◾ 정의하기

enum Korea {
	BUSAN, ULSAN, ...,  SEOUL;
}

- 열거형 선언은 클래스 안, 밖 모두 가능하다.

 

Korea korea;

korea = Korea.BUSAN;
korea = Korea.ULSAN;

korea = "NEWYORK" // 컴파일 에러

- 컴파일 시, 상수값의 할당을 사전에 체크 가능하다.

 

 

 📌 Enum 메서드

valueOf(String str) 문자열 str과 일치하는 열거값 반환
values() 열거 값 전부를 배열로 반환
ordinal() 열거 값의 순서를 반환 

 

 

 

 💌 Reference

- https://velog.io/@ljinsk3/Concept-Enum

- https://velog.io/@nawhew/%EC%9E%90%EB%B0%94-Enum%EC%9D%84-%EB%8D%94-%EC%9E%98%EC%93%B0%EA%B8%B0-%EC%9C%84%ED%95%9C-%EB%B0%A9%EB%B2%95

- https://www.nextree.co.kr/p11686/

- https://eatnows.tistory.com/91

- https://kadosholy.tistory.com/114

- https://limkydev.tistory.com/50

 

728x90