| 타입인자 | 설명 |
|---|---|
| <T> | Type |
| <E> | Element |
| <K> | Key |
| <N> | Number |
| <V> | Value |
| <R> | Result |
잘못된 타입 들어갈 가능성 제거불필요한 타입 변환 감소 → 성능 향상ArrayList list = new ArrayList(); //제네릭을 사용하지 않을경우
list.add("test"); // "test" 를 Object 타입으로 인식
String temp = (String) list.get(0); //타입변환이 필요함
ArrayList<String> list2 = new ArrayList(); //제네릭을 사용할 경우
list2.add("test"); // "test" 를 String 타입으로 인식
temp = list2.get(0); //타입변환이 필요없음
타입을 파라미터로 가지는 클래스와 인터페이스
클래스 또는 인터페이스 뒤에 <> 부호가 붙고 사이에 타입 파라미터가 위치
public class Generic<T> { ... }
public interface Generic<T> { ... }
<> 안에 들어가는 것 보통 대문자 한 글자로 표현함
| 타입인자 | 설명 |
|---|---|
| <T> | Type |
| <E> | Element |
| <K> | Key |
| <N> | Number |
| <V> | Value |
| <R> | Result |
<> 안에 2개 이상의 타입 파라미터 들어가는 것
public class MapGeneric<K, V> { ... }