public class ClassName <T, K> { ... }
public class Main {
public static void main(String[] args) {
ClassName<String, Integer> a = new ClassName<String, Integer>();
}
}
위 예시처럼 String 타입과 Integer 타입 모두 사용하고 싶을 경우 제네릭을 사용하면 타입을 미리 지정하지 않고 필요에 의해 지정할 수 있다.
제네릭을 사용하면 잘못된 타입이 들어오는 것을 컴파일 단계에서 방지할 수 있다.
클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다.
비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다.
타입 | 설명 |
---|---|
<T> | Type |
<E> | Element |
<K> | Key |
<V> | Value |
<N> | Number |