TypeVariable — 타입 변수 인터페이스
TypeVariable — 타입 변수 인터페이스
TypeVariable<D extends GenericDeclaration>은 종류의 타입 변수(type variable)를 위한 공통 슈퍼인터페이스예요. 타입 변수는 이 패키지의 규정에 따라 리플렉션 메서드가 처음 필요로 할 때 만들어져요. 타입 변수 t를 타입 T가 참조하고, T가 T의 n번째 둘러싼 클래스에 의해 선언된다면, t의 생성은 T의 각 둘러싼 클래스의 해석을 요구해요. 타입 변수를 생성해도 그 경계(bound)까지 생성되지는 않아요. 타입 변수를 반복 생성해도 효과는 없어요. 런타임에 여러 객체가 주어진 타입 변수를 나타낼 수 있지만, 타입 변수를 나타내는 모든 인스턴스는 서로 equal()해야 해요. GenericDeclaration(클래스·메서드·생성자 등 타입 매개변수를 선언하는 선언)을 확장한 Type 계층의 인터페이스예요.
본문
Type[] getBounds() — 이 타입 변수의 상한 경계(upper bound)를 Type 배열로 반환해요. 예를 들어 T extends Number & Comparable<T>에서 Number와 Comparable을 나타내는 타입을 반환해요.
D getGenericDeclaration() — 이 타입 변수를 선언한 제네릭 선언(GenericDeclaration)을 반환해요. 예를 들어 타입 변수를 선언한 클래스나 메서드를 반환해요.
String getName() — 이 타입 변수의 이름을 반환해요. 예를 들어 T, E, K 같은 이름이에요.
AnnotatedType[] getAnnotatedBounds() — 이 타입 변수의 애너테이션된 상한 경계를 AnnotatedType 배열로 반환해요.