제네릭스(Generics) 클래스는 다양한 타입의 객체를 다룰 수 있도록 일반화된 클래스입니다. 제네릭 클래스를 선언할 때에는 클래스 이름 뒤에 <T>와 같이 타입 파라미터를 추가하여 선언합니다. 여기서 T는 타입을 나타내며, 실제 사용될 때 구체적인 타입으로 대체됩니다.
제네릭 클래스의 선언 형식은 다음과 같습니다
public class ClassName<T> {
// 클래스 내용
}
여기서 T는 타입 파라미터이며, 클래스 내부에서 필드, 메서드, 생성자 등에서 이 타입을 사용할 수 있습니다.
예를 들어, 제네릭 클래스를 사용하여 리스트를 구현하는 간단한 예제를 살펴보겠습니다.
public class GenericList<T> {
private List<T> elements;
public GenericList() {
this.elements = new ArrayList<>();
}
public void addElement(T element) {
elements.add(element);
}
public T getElement(int index) {
return elements.get(index);
}
public int size() {
return elements.size();
}
}
위의 GenericList 클래스는 제네릭을 사용하여 어떤 타입의 요소도 저장할 수 있는 리스트를 나타냅니다. 사용 예시는 다음과 같습니다.
public class GenericListExample {
public static void main(String[] args) {
// String 타입의 GenericList
GenericList<String> stringList = new GenericList<>();
stringList.addElement("Apple");
stringList.addElement("Banana");
stringList.addElement("Orange");
System.out.println("String List Size: " + stringList.size());
System.out.println("Element at index 1: " + stringList.getElement(1));
// Integer 타입의 GenericList
GenericList<Integer> integerList = new GenericList<>();
integerList.addElement(42);
integerList.addElement(99);
System.out.println("Integer List Size: " + integerList.size());
System.out.println("Element at index 0: " + integerList.getElement(0));
}
}
이렇게 제네릭 클래스를 사용하면, 각각의 객체마다 타입 변환 없이도 유연하게 다양한 타입의 요소를 다룰 수 있습니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 제네릭 제한된 클래스 (0) | 2023.11.19 |
---|---|
자바 제네릭 클래스의 객체 생성과 사용 (0) | 2023.11.19 |
자바 제네릭스(Generics) (0) | 2023.11.19 |
자바 컬렉션 프레임워크 Collections (0) | 2023.11.19 |
자바 컬렉션 프레임워크 Properties (0) | 2023.11.19 |