타입인자 | 설명 |
---|---|
<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> { ... }