Programming/Java

java generic

구차니 2014. 3. 18. 18:05
collection - c/cpp의 자료구조
generic은 jdk 1.5.0 부터 지원됨

해당 패키지를 사용하기 위해서는 java.util을 포함해야 함.
import java.util.*;  

제너릭스 (Generics)
API문서에 4개의 식별자가 존재한다. <T,E,K,V>
Type
Element
Key
Value

사용방법은 다음과 같으며, cpp의 template와 거의 유사하다.
class className <T>
{
    T[] v;
}

className<String> t = new className<String>(); 

[링크 : http://docs.oracle.com/javase/7/docs/api/java/util/package-summary.html]


자바는 타입을 강하게 확인하지만 유연성을 위해 몇가지 확장 키워드를 제공한다.

<?> // 클래스 타입 상관없음
<? super class> 해당 클래스의 상위 클래스까지 허용 (본인 클래스는 포함되지 않음)
<? extends class> 해당 클래스의 하위 클래스만 적용 (본인 클래스는 포함되지 않음)