제네릭 타입은 두 개 이상의 멀티 타입 파라미터를 사용할 수 있다.
이 경우 각각 타입 파라미터를 콤마로 구분한다.
예) Product.java : 제네릭 클래스
public class Product<T, M> {
private T kind;
private M model;
public T getKind() { return this.kind; }
public M getModel() { return this.model; }
public void setKind(T kind) { this.kind = kind; }
public void setModel(M model) { this.model = model; }
}
ProductExample.java : 제네릭 객체 생성 실행 클래스
public class ProductExample {
public static void main(String[] args) {
Product<Tv, String> product1 = new Product<Tv, String>();
product1.setKind(new Tv());
product1.setModel("스마트Tv");
Tv tv = product1.getKind();
String tvModel = product1.getModel();
Product<Car, String> product2 = new Product<Car, String>();
product2.setKind(new Car());
product2.setModel("디젤");
Car car = product2.getKind();
String carModel = product2.getModel();
}
}
제네릭 타입 변수 선언과 객체 생성을 동시에 할 때,
타입 파라미터 자리에 구체적인 타입을 지정하는 코드가 중복으로 나와서 복잡해질 수 있다.
Product<Tv, String> product = new Product<Tv, String>();
자바 7 부터 제네릭 타입 파라미터 중복 입력을 줄이기 위해 <> 연산자를 제공한다.
컴파일러는 타입 파라미터 부분에 <> 연산자를 사용하면 타입 파라미터를 유추해서 자동으로 설정한다.
Product<Tv, String> product = new Product<>();
728x90
'Java 심화 > 2. 제네릭 < >' 카테고리의 다른 글
1. Java 자바 제네릭 - 제네릭 (Generic) 타입 (0) | 2020.11.06 |
---|