제네릭 타입(Generic type)은 클래스나 메소드에서 사용할 데이터 타입을 미리 정하지 않고,
실행 시점에 결정하는 방식을 말한다.
제네릭 타입을 사용하면 클래스나 메소드를 일반화하여, 다양한 데이터 타입에 대해 재사용할 수 있다.
Java에서 제네릭 타입은 "<>" 기호를 사용하여 표현하며, 다음과 같은 형태로 정의합니다.
class 클래스명<T> {
T 변수명;
T 메소드명() { ... }
...
}
위 코드에서 <T>
는 제네릭 타입 매개변수로, T는 실제 사용할 데이터 타입을 나타내는 타입 변수이다.
이제 클래스나 메소드에서 데이터 타입을 지정할 때, T 대신 사용할 실제 데이터 타입을 지정한다
클래스명<데이터타입> 객체명 = new 클래스명<>();
객체명.메소드명(데이터);
위와 같이, 객체를 생성할 때 데이터 타입을 명시하고, 메소드를 호출할 때 데이터를 전달하면 제네릭 타입이 사용된 클래스나 메소드에서는 자동으로 타입 변환이 이루어진다.
제네릭 타입은 자바에서 많이 사용되는 기능 중 하나이다. 많은 클래스들이 제네릭 타입을 사용하여 타입 안정성(type safety)을 높이고, 코드의 재사용성과 유연성을 높이고 있다.
제네릭 타입을 사용하는 것은 코드의 가독성과 유지보수성을 높이는데 도움을 주지만,
코드의 길이나 복잡도를 높일 수 있다. 따라서, 상황에 따라 적절하게 사용하는 것이 중요하다.
제네릭 타입을 사용하는 경우의 장단점은 다음과 같다.
장점
단점
따라서, 제네릭 타입을 사용할 때는 상황에 따라 적절하게 사용하는 것이 중요하다.