본문 바로가기
Java

[JAVA] Enum에 대해서

by 미소여우 2022. 2. 22.
728x90

만약 여자인지, 남자인지 판단해야 하는 코드가 있다 치자.

이전 같은 경우에는 다음과 같이 했어야 할 것이다.

if (sex.equals("Male")) {}
else if (sex.equals("Female")) {}

경우가 몇 가지 없는 경우면 내가 직접 문자로 쳐주면 되겠지만, 가지수가 늘어나면 오타를 낼 수 도 있다.

요샌 IDE가 똑똑하다지만 문자열까지는 잡아주기 어려울 것이다.

이런 문제를 해결할 수 없을까 해서 나온게 열거형 타입인 Enum 클래스가 나온 것이다.

Enum을 사용해서 얻을 수 있는 이점은 아래와 같다. (출처 - 우아한블로그)

  • 문자열과 비교해, IDE의 적극적인 지원을 받을 수 있습니다.
    • 자동완성, 오타검증, 텍스트 리팩토링 등등
  • 허용 가능한 값들을 제한할 수 있습니다.
  • 리팩토링시 변경 범위가 최소화 됩니다.
    • 내용의 추가가 필요하더라도, Enum 코드외에 수정할 필요가 없습니다.

사용법은 다음과 같다.

enum Rainbow {
	RED, YELLOW, GREEN
}

// 불러올 때
Rainbow.RED

상수값을 주고 싶으면 다음과 같은 생성자와 필드 추가를 해주어야 한다.

enum Rainbow {

    RED(3), ORANGE(10), YELLOW(21), GREEN(5), BLUE(1), INDIGO(-1), VIOLET(-11);

 

    private final int value;

    Rainbow(int value) { this.value = value; }

    public int getValue() { return value; }

}

 


출처:

http://www.tcpschool.com/java/java_api_enum

https://techblog.woowahan.com/2527/

728x90

'Java' 카테고리의 다른 글

[자바] 자바 빈즈  (0) 2022.08.29
[JAVA] 어노테이션 설명  (0) 2022.03.20
스택트레이스를 적극 활용하자  (0) 2022.03.08

댓글