본문 바로가기
JAVA

[JAVA] Generic Type

by kwh_coding 2024. 3. 28.

제네릭에서 T는 타입 매개변수(Type Parameter)로 사용된다. 이것은 제네릭 클래스나 메서드가 실제로 사용될 때 구체적인 타입으로 대체되는 것을 나타낸다. GenericType<T>에서 T는 어떤 타입이든 될 수 있다.

class Box<T> {
    private T item;

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

    public T getItem() {
        return item;
    }
}

public class Main {
    public static void main(String[] args) {
        // Box 클래스에 대한 인스턴스를 생성하고 정수를 저장
        Box<Integer> integerBox = new Box<>();
        integerBox.setItem(10);

        // Box 클래스에 대한 인스턴스를 생성하고 문자열을 저장
        Box<String> stringBox = new Box<>();
        stringBox.setItem("Hello");

        // 저장된 아이템을 출력
        System.out.println("Integer Item: " + integerBox.getItem());
        System.out.println("String Item: " + stringBox.getItem());
    }
}

Box 클래스는 제네릭으로 정의되어 있으며, T는 어떤 타입이든 될 수 있다. setItem() 메서드는 제네릭 타입 T의 아이템을 설정하고, getItem() 메서드는 설정된 아이템을 반환한다.

main() 메서드에서는 Box 클래스의 인스턴스를 생성할 때 각각 다른 타입을 지정하여 사용한다. Box<Integer>는 정수를 저장하고, Box<String>은 문자열을 저장한다.

이를 통해 제네릭을 사용하면 클래스나 메서드를 특정 타입에 제한하지 않고 여러 타입에서 재사용할 수 있으며, 타입 안정성을 보장할 수 있다.

 
 
 

'JAVA' 카테고리의 다른 글

[JAVA] Lambda  (0) 2024.04.01
[JAVA] Anonymous Inner Class  (0) 2024.03.27
[JAVA] Inner Class와 Outer Class  (0) 2024.03.27
[JAVA] Interface  (0) 2024.03.27
[JAVA] Abstract 예제  (0) 2024.03.26