제네릭 타입을 선언을 할 때 두 개 이상의 타입 파라미터를 사용해서 선언할 수 있다.
class<K,T, ....> { ... }
interface<K, V, ....> { ... }
Product클래스를 제네릭 타입으로 선언한다면 다음과 같이 쓸 수 있다.
public class Product<T,M> {
private T kind;
private M model;
public T getKind() {
return kind;
}
public void setKind(T kind) {
this.kind = kind;
}
public M getModel() {
return model;
}
public void setModel(M model) {
this.model = model;
}
}
메인클래스에서 Product클래스의 객체를 생성해서 사용한다면
Product<Tv,String> product1 = new Product<>();
이렇게 생성할 수 있다.
Product의 첫번째 파라미터는 Tv라는 클래스타입, 두번째 파라미터는 String타입으로 지정해주었다.
product1.setKind(new Tv());
product1.setModel("스마트TV");
Tv tv = product1.getKind();
String tvModel = product1.getModel();
본 포스팅은 이것은 자바다 책을 참고하여 작성하였습니다.
'Java 공부' 카테고리의 다른 글
13장 제네릭(Generic)(4)_제한된 타입 파라미터 (0) | 2019.05.23 |
---|---|
13장 제네릭(Generic) (3)_제네릭 메소드 (0) | 2019.05.22 |
13장 제네릭(Generic) (0) | 2019.01.20 |
12장 스레드풀(4) (0) | 2018.12.12 |
12장 스레드풀(3) (0) | 2018.12.11 |