Java 25(열거형 Enumerate)

Kang.__.Mingu·2024년 5월 10일
0

Java

목록 보기
27/108

열거형(Enumerate)

  • 상수필드만을 작성하기 위한 자료형

    형식) public enum 열거형명 {상수명, 상수명, ...}

  • 열거형일 때 상수필드 작성 방법
    - public static final 제한자 및 int 자료형 생략

    • 상수필드에는 자동으로 첨자(Index - 0부터 1씩 증가되는 정수값)가 기본값으로 저장됨
  • 열거형의 이름은 파스칼 표기법을 사용하여 작성하는 것을 권장 => 다 대문자


EnumerateOne(Enum)

public enum EnumerateOne {
    INSERT, UPDATE, DELETE, SELECT;
}

EnumerateTwo(Enum)

public enum EnumerateTwo {
    ADD, MODIFY, REMOVE, SEARCH;
}

EnumerateAPP(Class)

public class EnumerateAPP {
    public static void main(String[] args) {
        // 열거형에 작성된 상수필드 출력 - 상수필드의 이름 출력
        // => 열거형에 작성된 상수필드의 이름을 하나의 값으로 사용

        System.out.println("삽입(EnumerateOne.INSERT) = " + EnumerateOne.INSERT);
        System.out.println("변경(EnumerateOne.UPDATE) = " + EnumerateOne.UPDATE);
        System.out.println("삭제(EnumerateOne.DELETE) = " + EnumerateOne.DELETE);
        System.out.println("검색(EnumerateOne.SELECT) = " + EnumerateOne.SELECT);
        System.out.println("===================================================================");
        System.out.println("삽입(EnumerateTwo.ADD) = " + EnumerateTwo.ADD);
        System.out.println("변경(EnumerateTwo.MODIFY) = " + EnumerateTwo.MODIFY);
        System.out.println("삭제(EnumerateTwo.REMOVE) = " + EnumerateTwo.REMOVE);
        System.out.println("검색(EnumerateTwo.SEARCH) = " + EnumerateTwo.SEARCH);
        System.out.println("===================================================================");
        // 열거형으로 생성된 변수에는 변수를 선언한 열거형에 작성된 상수필드만 저장 가능
        // => 상수필드가 작성된 열거형을 하나의 자료형으로 사용 가능
        EnumerateOne choice = EnumerateOne.INSERT;
        System.out.println("choice = " + choice);
        System.out.println("===================================================================");
        // 나열형으로 선언된 변수값은 같은 자료형(열거형)의 상수필드로만 비교 가능
        // => case 키워드에는 switch 키워드의 열거형과 같은 상수필드만 작성하여 비교 가능
        switch (choice) {
            case INSERT:
                System.out.println("학생정보를 삽입합니다.");
                break;
            case UPDATE:
                System.out.println("학생정보를 변경합니다.");
                break;
            case DELETE:
                System.out.println("학생정보를 삭제합니다.");
                break;
            case SELECT:
                System.out.println("학생정보를 검색합니다.");
                break;
        }
    }
}
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글