9. Generic, Enum

Generic과 Enum은 Java에서 다양한 상황에서 유용하게 사용되는 기능입니다. Generic을 통해 일반화된 클래스나 메서드를 작성하여 타입 안정성을 확보하고, Enum을 사용하여 제한된 상수 값들을 표현하고 비교할 수 있습니다.

1. Generic

  • Generic은 타입 매개변수(Type Parameter)를 사용하여 클래스 또는 메서드를 일반화하는 기능입니다.

  • 타입 매개변수는 실제 타입으로 대체되어 코드의 재사용성과 타입 안정성을 높이는 데 도움을 줍니다.

  • Generic을 사용하면 클래스나 메서드를 작성할 때 다양한 타입의 객체를 다룰 수 있으며, 컴파일 시에 타입 체크가 가능합니다.

예시:

javaCopy codepublic class Box<T> {
    private T item;

    public void setItem(T item) {
        this.item = item;
    }

    public T getItem() {
        return item;
    }
}

Box<Integer> box1 = new Box<>();
box1.setItem(10);
int value = box1.getItem();  // 타입 캐스팅이 필요하지 않음

2. Enum

  • Enum은 열거형(Enumeration)을 정의하는 데 사용되는 특별한 데이터 타입입니다.

  • Enum은 몇 개의 상수값으로 제한된 유한한 집합을 표현할 때 사용됩니다.

  • Enum은 각 상수에 대한 이름, 값 및 메서드를 가질 수 있으며, 열거형으로 선언된 상수들은 해당 열거형 타입의 인스턴스입니다.

예시:

javaCopy codepublic enum DayOfWeek {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

DayOfWeek today = DayOfWeek.MONDAY;
System.out.println(today);  // 출력: MONDAY

Enum은 주로 상수 값들을 표현하고 비교하는 데 사용됩니다. 각 상수는 해당 Enum 타입의 유일한 인스턴스이며, Enum 클래스에 미리 정의된 메서드들을 사용하여 상수들을 다룰 수 있습니다.

Last updated