원하는 것은 뭐든지

[JAVA] ENUM 클래스 본문

개발/자바

[JAVA] ENUM 클래스

댕로그😏 2023. 3. 15. 23:31
반응형

열거형

상수의 집합을 이루는 자료형

Boolean 자료형은 미리 정의된 열거형으로 볼 수 있다.

 

JAVA열거체 선언

별도의 파일로

public enum company {
    SAMSUNG,
    SK,
    HYUNDAI
}

클래스 내부에

public class color {
    enum saek{RED, BLUE, YELLOWD}
}

클래스 외부에

public class university {
}
enum univ{YONSEI, KOREA, SEOUL}

열거체 상수값 추가

열거체에 임의로 상수값을 정의하고 싶다면 괄호 안에 원하는 값을 작성해 주면 된다.

하지만 이때 값을 반환할 수 있도록 getter메소드를 만들어 주어야 한다.

public enum company {
    SAMSUNG("삼성"),
    SK("에스케이"),
    HYUNDAI("현대");

    private final String value;
    company(String value){this.value = value;}
    public String getValue(){return value;}
}

 

사용

열거체이름.상수이름;

public class university {
    public static void main(String[] args) {
        System.out.println(univ.KOREA);
    }

}
enum univ{YONSEI, KOREA, SEOUL}

메소드

values()

해당 열거체의 모든 상수를 저장한 배열을 생성하여 반환함

public class university {
    public static void main(String[] args) {
        univ[] arr = univ.values();
        for(univ v : arr){
            System.out.println(v);
        }
    }

}
enum univ{YONSEI, KOREA, SEOUL}
/*
YONSEI
KOREA
SEOUL
*/

valueOf()

전달된 문자열과 일치하는 상수를 반환

public class university {
    public static void main(String[] args) {
        System.out.println(univ.valueOf("SEOUL"));
    }

}
enum univ{YONSEI, KOREA, SEOUL}
/*
SEOUL
*/

ordinal()

열거체 정의에서 정의된 순서를 반환

public class university {
    public static void main(String[] args) {
        System.out.println(univ.SEOUL.ordinal());
    }

}
enum univ{YONSEI, KOREA, SEOUL}

/*
2
*/

name()

String으로 반환

public class university {
    public static void main(String[] args) {
        System.out.println(univ.KOREA.getClass());
        System.out.println(univ.KOREA.name().getClass());
    }

}
enum univ{YONSEI, KOREA, SEOUL}

/*
class DY.study.study.univ
class java.lang.String
*/

출처

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

https://mine-it-record.tistory.com/204

끄ㅡ읕

반응형

'개발 > 자바' 카테고리의 다른 글

DTO 와 VO의 차이점  (0) 2023.10.05
자바 여러버 사용하기  (0) 2023.09.20
Comments