JAVA

[JAVA] Enum

집한구석 2021. 6. 2. 23:16
728x90

정의

  • 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미
/* enum 예시 */
public enum Security {
  NORMAL,
  WARNING,
  DANGER;
}

특징

  • 인스턴스 생성과 상속을 방지하여 상수값의 타입 안정성이 보장
  • 데이터들 간의 연관관계를 명확하게 표현하여, 구현의 의도를 명확하게 알수 있음
  • 코드가 단순해지고, 가독성 보장
  • enum 클래스 내부 동작은 static영역임, 즉 프로그램이 종료되기 전까지 가져다 쓸 수 있는 메모리 공간 확보됨 (https://stackoverflow.com/questions/143285/how-much-memory-do-enums-take)
  • 일반 메서드를 가질 수 있음

실무에서 사용할 때, 주로 관계가 있는 타입으로 묶어서 사용함 (ex. 부서유형, 보안상태)


Enum에서 제공하는 메소드

  • Enum 객체 메소드들은 컴파일 시 Enum 클래스를 상속하게 되어 있어, 해당 메소드들을 사용할 수 있음
메소드 리턴 타입 설명
name() String 열거 객체의 문자열을 리턴
ordinal() int 열거 객체의 순번을 리턴
compareTo() int 열거 객체를 비교하여 순번 차이 리턴
valueOf(String name) 열거 타입 주어진 문자열의 열거 객체 리턴
values() 열거 배열 모든 열거 객체들을 리턴

 

'JAVA' 카테고리의 다른 글

[JAVA] 싱글턴 패턴  (0) 2021.06.05
[JAVA] JVM 구조  (0) 2021.06.03
[JAVA] GC의 종류  (0) 2021.05.23
[JAVA] 상태패턴  (0) 2021.05.21
[JAVA] Builder 패턴  (0) 2021.05.16