반응형
자바를 사용하다보면 interface나 class 등은 많이 사용하는데 이 enum 이라는 친구는 생소할수도 있다.
열거형이라고도 하는데 이 enum 이라는것을 오늘 다뤄볼 것이다.
아시는 분들은 아시겠지만 상수 정의하는 방법이다.
기존 클래스에서는 상수를
static final String name = "A";
이런식으로 정의를 했다면 enum에서는 좀 다르다.
코드를 직접 한번 보면 이해할수 있을것이다.
public class EnumExample { public static final String MALE = "MALE"; public static final String FEMALE = "FEMALE"; public static void main(String[] args) { String gender1; gender1 = EnumExample.MALE; gender1 = EnumExample.FEMALE; gender1 = "boy"; Gender gender2; gender2 = Gender.MALE; gender2 = Gender.FEMAL; gender2 = "boy"; } } enum Gender { MALE, FEMAL; } |
위 코드에서 gender1과 gender2의 차이를 보면
결국 MALE이나 FEMALE의 값을 갖게 된다.
하지만 gender1에서는 MALE, FEMALE 이외에 다른 값들을 가질수 있고
여기서 gender1 은 boy가 들어갈수 있다.
하지만 gender2에서는 enum으로 정의 된 값들만 들어갈수 있기에 boy라는 값이 들어갈수 없다.
눈치가 빠르다면 이해했겠지만 이 enum이라는것은 사용하는것이
week - 월화수목금토일
month - 1~12월
등 딱 정해진 값들이 있는것으로만 설정하는것이 효율적이다.
추가적으로 enum 의 비교는 String 이라고 해서 equals 를 사용하는것이 아니라
== 으로 비교를 해준다.
반응형
'IT > Java' 카테고리의 다른 글
PSA 란? (54) | 2022.09.28 |
---|---|
Assertions.assertThat 비교 하기 (40) | 2022.09.24 |
Spring REST Docs (33) | 2022.09.09 |
Spring Bean 등록(@Bean은 @Configuration 내에) (75) | 2022.09.05 |
javadoc 관련 (33) | 2022.09.03 |
댓글