12.7 제네릭이란?
public class Box {
public Object content;
public static void main(String[] args) {
Box box = new Box();
box.content = "바비인형";
String doll = (String) box.content;
}
}
12.7.1 제네릭
- 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 떄 파라미터를 구체적인 타입으로 대체시키는 기능.
- 객체를 저장할 때 저장할 내용물의 타입을 미리 알려주고, 읽을 때 어떤 타입으로 제공할지를 알게 표시
public class Box<T> {
public T content;
}
Box<String> box = new Box<String>();
box.content = "안녕";
String content = box.content;
Box<Integer> box = new Box<Integer>();
box.content = 100;
Integer content = box.content;
- T 파라미터로 제공되는 것은 클래스타입, 인터페이스만 가능하다.
<T> ==> 타입(Type)
<E> ==> 요소 Element List
<K> ==> Key, Map<k, v>
<V> ==> value, 리턴값, 매핑값
<N> ==> 숫자
<S,U,V> 2번째, 3번째, 4번째 선언된 타입