Programming/Java

JAVA 22(2) 제네릭 2

사랑우주인 2021. 8. 14. 12:21

와일드카드

제네릭 클래스의 객체를 메소드의 매개변수로 받을 때, 그 객체의 타입 변수를 제한하는 것을 말한다. 

 

public static <T> void peekBox(Box<T> box){
System.out.printIn(box);
}

public static void peekBox(Box<?> box){
System.out.printIn(box);
}

//와일드카드는 제네렉 메소드가 아니다. 
//작동 원리가 다를 뿐, 기능은 같다.

 

와일드카드 코드가 더 간결해 보인다. 문서에서도 제네릭 메소드보다 와일드카드를 권고한다.