제네릭 클래스?
제네릭은 직역하면 '일반적인'이라는 뜻이며, 제네릭은 클래스 내부에서 지정하는 것이 아닌 외부에서
사용자에 의해 지정되는 것을 의미합니다.
제네릭을 사용하는 방법?
제네릭은 아래 표의 타입들이 주로 쓰입니다.
타입 | 설명 |
<T> | Type |
<E> | Element |
<K> | Key |
<V> | Value |
<N> | Number |
제네릭 타입의 특징?
- 클래스 또는 메소드에 선언이 가능합니다.
- 동시에 여러개의 타입을 선언할 수 있습니다.
- Object를 사용하였을 때는 빈번한 타입이 발생하여 성능이 저하되었는데, 그러한 점을 보완할 수 있다.
class GenericTest<T> {
T elementType;
void setElement(T elementType) {
this.elementType = elementType;
}
T getElementType() {return elementType;}
}
사용하는 방법?
public class Box<T> {
private T t;
public void set(T t) { this.t = t; }
public T get() { return t; }
}
위 처럼 <T>라는 제네릭으로 타입을 명시 해 줄시, 어떠한 타입으로 클래스를 사용하여도 동작합니다.
최종 정리
- 제네릭 타입은 메소드나 클래스 등에서 사용이 가능하며, 어떠한 알파벳등을 써도 상관이 없다.
- 사용 시, 컴파일시에 캐스팅이 되기때문에 캐스팅을 해줄 필요가 없습니다.
- 예시 ) public void set(T t) {//코드}
반응형
댓글