Language/Java

JAVA 유용한 타입 - Enum

simDev1234 2022. 9. 15. 21:34

|  Enum이란?

- Enumeration Type : 열거체를 말한다.

- 핵심 : 사용자 지정 타입이며 실제 값은 0,1,2,3... 순번으로 출력된다.

- 부가 : 타입에 괄호()를 넣어 그 타입에 대해 설명할 수 있다.

 

|  Enum 문법

- 기본적으로 아래와 같이 열거하여 사용하는데

public enum AnimalType {
    CAT, DOG, HAMSTER, CHICKEN, SHEEP, LAMAR;
}

- 상수타입 옆에 괄호()를 넣어 상숫값을 명시할 수 있다.

public enum AnimalType {

    CAT("포유류","고양이"),
    DOG("포유류","개"),
    HAMSTER("포유류","햄스터"),
    CHICKEN("조류","닭"),
    SHEEP("포유류","양"),
    LAMAR("포유류","라마");

    private String species;
    private String kind;

    AnimalType(String species, String kind) {
        this.species = species;
        this.kind = kind;
    }

    public String getSpecies() {
        return species;
    }

    public String getKind() {
        return kind;
    }
}

- Main에서 테스트한 결과

import type.AnimalType;

import java.util.Optional;

public class Main2 {

    static class Patient {

        private Long id;
        private String patientNo;
        private AnimalType animalType;
        private String name;

        public Patient(Long id, String patientNo,
                       AnimalType animalType, String name) {
            this.id = id;
            this.patientNo = patientNo;
            this.animalType = animalType;
            this.name = name;
        }

        @Override
        public String toString() {
            return id + ".환자번호(" + patientNo + ") : "
                    + name + " (" + animalType.getSpecies()
                    + " " + animalType.getKind() + ")";
        }
    }

    public static void main(String[] args) {
        Patient patient = new Patient(1L, "1000101",
                AnimalType.CAT, "봄");

        Optional<Patient> patient2 = Optional.ofNullable(patient);
        System.out.println(patient2); // Optional[1.환자번호(1000101) : 봄 (포유류 고양이)]
    }
}

 

[ 참조 및 출처 ]

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