본문 바로가기
카테고리 없음

[JAVA] 15. 제네릭(Generic) 클래스?

by oomm112 2022. 4. 14.
제네릭 클래스?

제네릭은 직역하면 '일반적인'이라는 뜻이며, 제네릭은 클래스 내부에서 지정하는 것이 아닌 외부에서
사용자에 의해 지정되는 것을 의미합니다.

 


제네릭을 사용하는 방법?

제네릭은 아래 표의 타입들이 주로 쓰입니다.

타입 설명
<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) {//코드}

 

 

반응형

댓글