JAVA
[JAVA] Generic Type
kwh_coding
2024. 3. 28. 14:25
제네릭에서 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>은 문자열을 저장한다.
이를 통해 제네릭을 사용하면 클래스나 메서드를 특정 타입에 제한하지 않고 여러 타입에서 재사용할 수 있으며, 타입 안정성을 보장할 수 있다.