Eumn이란?

wujin·2023년 3월 30일
0

Eumn Class

Java의 Enum 클래스는 상수를 표현하는 데 사용되는 특별한 유형의 클래스입니다. 열거형은 관련된 상수 집합을 정의하고, 코드의 가독성과 유지 관리성을 향상시키는 데 도움이 됩니다.

Enum 클래스는 Java 1.5에서 도입되었으며, 기존의 상수와 달리 열거형은 강력한 타입 검사 및 스레드 안전성을 보장합니다. 열거형 상수는 단일 인스턴스로 존재하며, 열거형 상수의 이름은 대문자로 작성되어 있습니다.

열거형은 다음과 같이 선언됩니다.

public enum Day {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

위의 코드에서 Day는 열거형 이름입니다. 그리고 나머지 7개의 상수는 Day 열거형의 멤버입니다. 열거형 상수는 클래스 멤버처럼 사용될 수 있습니다. 예를 들어, Day.MONDAY는 Day 열거형의 첫 번째 상수입니다.

열거형은 switch 문에서도 사용할 수 있으며, 열거형 상수와 관련된 작업을 수행하는 데 매우 유용합니다. 예를 들어, Day 열거형을 사용하여 요일에 따라 다른 작업을 수행하는 switch 문을 작성할 수 있습니다.

또한, 열거형은 메서드와 생성자를 가질 수 있습니다. 열거형 메서드는 열거형 상수에 대한 작업을 수행하는 데 사용됩니다. 열거형 생성자는 각 상수에 대해 호출됩니다.

Java의 Enum 클래스는 상수를 표현하는 데 유용한 도구입니다. 이를 사용하면 코드의 가독성과 유지 관리성을 향상시킬 수 있습니다. 또한, 열거형은 강력한 타입 검사와 스레드 안전성을 제공하므로, 안정적인 코드 작성에 도움이 됩니다.

public class EnumExample {
    enum Day {
        MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }

    public static void main(String[] args) {
        Day day = Day.MONDAY;

        switch (day) {
            case MONDAY:
                System.out.println("Today is Monday");
                break;
            case TUESDAY:
                System.out.println("Today is Tuesday");
                break;
            case WEDNESDAY:
                System.out.println("Today is Wednesday");
                break;
            case THURSDAY:
                System.out.println("Today is Thursday");
                break;
            case FRIDAY:
                System.out.println("Today is Friday");
                break;
            case SATURDAY:
                System.out.println("Today is Saturday");
                break;
            case SUNDAY:
                System.out.println("Today is Sunday");
                break;
        }
    }
}

위의 코드에서 Day 열거형을 선언하고, main 메서드에서 Day.MONDAY 상수를 변수 day에 할당합니다. 그리고 switch 문에서 day 변수를 사용하여 해당하는 요일에 대한 출력문을 작성합니다.

출력 결과는 다음과 같습니다.

Today is Monday

DataBase에서의 Eumn

DB에서도 Enum 타입을 사용할 수 있습니다. 다음은 MySQL 데이터베이스에서 Enum 타입을 사용하여 성별을 저장하는 예시입니다.

CREATE TABLE person (
	id INT AUTO_INCREMENT PRIMARY KEY,
  	name VARCHAR(50),
  	gender ENUM('MALE', 'FEMALE')
);

위의 SQL 쿼리에서 person 테이블을 생성할 때, gender 열은 Enum 타입으로 선언됩니다. Enum 값으로는 'MALE'과 'FEMALE'을 사용합니다.

이제 person 테이블에 데이터를 삽입해보겠습니다.

INSERT INTO person (name, gender) VALUES
('John', 'MALE'),
('Jane', 'FEMALE'),
('Mike', 'MALE');

위의 쿼리를 실행하면, person 테이블에 3개의 행이 삽입됩니다. 각 행은 이름(name)과 성별(gender) 열을 가지고 있습니다.

이제 person 테이블을 조회해보겠습니다.

SELECT * FROM person;

위의 쿼리를 실행하면, person 테이블의 모든 행이 조회됩니다. 성별 열(gender)은 Enum 값으로 저장되어 있습니다.

+----+------+--------+
| id | name | gender |
+----+------+--------+
|  1 | John | MALE   |
|  2 | Jane | FEMALE |
|  3 | Mike | MALE   |
+----+------+--------+

이처럼, DB에서도 Enum 타입을 사용하여 고정된 값을 저장할 수 있습니다. Enum 타입을 사용하면 코드의 가독성과 유지 보수성을 향상시킬 수 있으며, 잘못된 값을 입력하는 오류를 방지할 수 있습니다.

0개의 댓글