📌 제네릭(Generic)
- 모든 종류의 타입을 다룰 수 있도록, 클래스나 메소드를 타입 매개변수을 이용하여 선언한다.
- 클래스 코드를 찍어내듯이 생산할 수 있도록 데이터 타입을 일반화(generic)시키는 도구이다.
- 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것.
- Data Type은 컴파일 시에 지정된다.
🌈 예시
Stack<E>
에 구체적인 타입을 지정하면, 지정된 타입만 다룰 수 있는 구체화된 Stack이 된다.
class Stack<E>{
void push(E element){...}
E pop(){...}
}
🌈 제네릭 타입 매개변수
- 컬렉션 클래스에서 타입 매개변수로 사용하는 문자는 다른 변수와 혼동을 피하기 위해 하나의 대문자를 관례적으로 사용한다.
매개변수 | 의미 |
---|
E | Element, 컬렉션에서 요소임을 나타낸다. |
T | Type을 의미한다. |
V | Value를 의미한다. |
K | Key를 의미한다. |