- 컬렉션 프레임워크(Java의 자료구조)의 하나
- 클래스 정의 시 사용되어질 데이터타입을 미리 명시하지 않고 객체 사용 전 사용할 타입을 객체 생성시 명시하여 사용하는 기법
- 주로, Collection API의 클래스들이 제너릭이 적용되어 있으므로 인스턴스 생성 시 제너릭 타입으로 사용할 데이터타입으로 지정
➡️ 지정된 데이터타입이 클래스 내의 임시 데이터타입을 대체하게 됨
- 클래스 정의 시점에서 클래스명 뒤에 <> 기호를 사용하여 "가상의 자료형" 명시
➡️ 보통 1글자 영문 대문자 사용(주로 < E > 또는 < T > 사용)- 가상의 자료형은 클래스 정의 시점에서 정확한 자료형을 명시하지 않지만 클래스의 정의 시점에서 데이터타입 대신 사용 가능함
- 해당 클래스의 인스턴스 생성 시점에서 가상의 자료형을 대신할 실제 자료형을 지정하면 클래스 내의 가상의 자료형이 실제 자료형으로 대체됨
➡️ 즉, 인스턴스 생성 시점에서 어떤 자료형으로도 변형 가능함!- 인스턴스 생성 후 참조 데이터타입으로 명시
(int ➡️ Integer, char ➡️ Character) 이후 사용시 자동으로 타입 변경됨!- < T >에 데이터타입을 지정하지 않을 경우, Object 타입으로 대체되어 모든 데이터를 다룰 수 있다.
➡️ < Obeject > 명시하면 경고 밑줄이 사라짐
1) 사용할 데이터타입을 특정 타입으로 관리하는 일반 클래스
2) 클래스 내에서 사용되어질 데이터에 대한 타입을 Object 타입으로 관리하는 경우 ➡️ 사용 시에는 타입판별필수!(예외 발생 가능성 때문)