제네릭은 클래스, 메서드에서 사용할 자료형을 나중에 확정하는 기법.
클래스나 메서드를 선언할 때가 아닌 사용할 때, 즉 객체를 생성할때나 메서드를 호출할때 정한다는 의미.
제네릭을 사용하는 코드
class A<T> {
private T unit;
public void set(T unit){
this.unit = unit;
}
public T get(){
return unit;
}
}
다음과 같이 사용한다.
A<String> a = new A<String>();
이름 | 뜻 |
---|---|
E | Element |
K | Key |
N | Number |
T | Type |
V | Value |
Map이나 List도 제네릭을 사용하고 있다.
List<String> list = new ArrayList<>(); // <E> Map<Long, String> map = new HashMap<>(); // <K,V>
<>안에 들어갈 수 있는 타입은 reference만 가능하다
기본형 타입(int, long)은 올 수 없다