Generic
- 제네릭은 동적으로 타입을 결정하지 않고 컴파일 시 타입이 결정되므로 보다 안전한 프로그래밍이 가능하다
- 실행 중에 타입 충돌 문제를 방지할 수 있다
- 프로그램 개발 시 타입 캐스팅 절차가 필요 없어지고 ClassCastException을 방지 할 수 있다
- 클래스 생성 시 타입을 명시해 준다.
- < T > < E > < K > < V > 4개의 문자로 표시한다.
< T > Type (데이터형)
< E > Element (요소, 항목)
< K > Key
< V > Value
예제
package collection;
class GenericTest<T>{
private T a;
public T getA() {
return a;
}
public void setA(T a) {
this.a = a;
}
}
public class GenericMain {
public static void main(String[] args) {
GenericTest<String> aa = new GenericTest<String>();
aa.setA("홍길동");
System.out.println("이름 = "+aa.getA());
GenericTest<Integer> bb = new GenericTest<Integer>();
bb.setA(25);
System.out.println("나이 = "+bb.getA());
}
}