Language/Java
[JAVA] 제네릭 클래스, 제네릭 메소드
모리노아진
2020. 11. 14. 20:59
제네릭 클래스(Generic Class)
public class Test<T> {
private T t;
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
}
제네릭 메소드(Generic Method)
public class Test {
public<V> V test(V v) {
return null;
}
}
T extends 상위 클래스 : T의 범위를 상위 클래스의 서브타입으로 제한
T super 하위 클래스 : T의 범위를 하위 클래스의 슈퍼타입으로 제한
WildCard ? 는 제네릭을 사용한 클래스 또는 메소드를 매개변수 또는 리턴타입으로 사용할 때
<?><? Super 하위 클래스><? extends 상위 클래스>
와 같이 나누어 표현한다. 메소드에 따라 제네릭 타입을 사용하는 목적이 다르므로 명시하여 오류를 방지하는 목적을 가진다.