# 5장 제네릭 Generic
- 자바 5에 등장
# 제네릭 이전
- 컬렉션에서 객체를 꺼낼 때마다 형변환 필요
- 런타임에서 형변환 오류 발견
# 제네릭 이후
- 컬렉션이 담을 수 있는 타입을 컴파일러에게 알려줄 수 있음
- 컴파일러가 자동으로 형변환 코드를 추가해 줄 수 있다.
- 컴파일 과정에서 형변환 오류를 발견할 수 있다.
제네릭은 코드가 복잡해진다는 단점이 있으나, 이번 장에서 제네릭의 이점을 살리고 단점을 최소화 하는 방법을 서술한다.
한글 용어 | 영문 용어 | 예 |
---|---|---|
매개변수화 타입 | parameterized type | List<String> |
실제 타입 매개변수 | actual type parameter | String |
제네릭 타입 | generic type | List<E> |
정규 타입 매개변수 | formal type parameter | E |
비한정적 와일드카드 타입 | unbounded wildcard type | List<?> |
로타입 | raw type | List |
한정적 타입 매개변수 | bounded type parameter | <E extends Number> |
재귀적 타입 한정 | recursive type bound | <T extends Comparable<T>> |
한정적 와일드 카드 타입 | bounded wildcard type | List<? extends Number> |
제네릭 메서드 | generic method | static <E> List<E> asList(E[] a) |
타입 토큰 | type token | String.class |