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; }
}
출처:
728x90
'Java' 카테고리의 다른 글
[자바] 자바 빈즈 (0) | 2022.08.29 |
---|---|
[JAVA] 어노테이션 설명 (0) | 2022.03.20 |
스택트레이스를 적극 활용하자 (0) | 2022.03.08 |
댓글