본문 바로가기
IT/Java

enum 이란

by 성준하이 2022. 9. 17.
반응형

자바를 사용하다보면 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 비교 하기  (39) 2022.09.24
Spring REST Docs  (33) 2022.09.09
Spring Bean 등록(@Bean은 @Configuration 내에)  (75) 2022.09.05
javadoc 관련  (33) 2022.09.03

댓글