[java] 와일드카드(Wildcard)를 사용한 제네릭 타입의 유연한 처리
제네릭 타입은 Java 프로그래밍에서 타입 안전성을 보장하고 객체의 재사용성을 높이는 데 사용됩니다. 와일드카드는 제네릭 타입을 더 유연하게 다룰 수 있도록 도와주는데, 이번 글에서는 와일드카드의 개념과 사용법에 대해 알아보겠습니다.
와일드카드란?
와일드카드는 ?
기호를 사용하여 표현되며, 제네릭 타입의 일부 또는 전체를 대체하는 데 사용됩니다. 와일드카드는 다음 세 가지 형태로 나타낼 수 있습니다.
? extends T
: T 타입 및 T의 하위 타입만을 나타내는 와일드카드? super T
: T 타입 및 T의 상위 타입만을 나타내는 와일드카드?
: 모든 타입을 나타내는 와일드카드
와일드카드를 사용하면 제네릭 타입을 더 유연하게 다룰 수 있으며, 다양한 상황에 대응하기 쉽습니다.
와일드카드의 사용 예시
다음은 와일드카드를 사용한 간단한 예시 코드입니다.
import java.util.List;
public class WildcardExample {
public void printList(List<? extends Number> list) {
for (Number n : list) {
System.out.print(n + " ");
}
System.out.println();
}
}
위 코드에서 List<? extends Number>
는 숫자 타입과 숫자 타입의 하위 타입을 나타내는 와일드카드입니다. 이를 통해 printList
메서드는 Number
타입 또는 Number
의 하위 타입을 가지는 리스트를 인자로 받을 수 있게 됩니다.
결론
와일드카드를 사용하면 제네릭 타입을 보다 유연하게 활용할 수 있으며, 다양한 상황에 대응할 수 있습니다. 모든 상황에 잘 맞는 해결책을 찾기 위해 와일드카드의 사용법을 잘 숙지하고 활용하는 것이 중요합니다.
와일드카드에 대해 더 알아보고 싶다면 Java 공식 문서 및 다양한 참고 자료를 참고해 보시기 바랍니다.
참고 자료
와일드카드를 사용한 제네릭 타입의 유연한 처리에 대해 알아보았습니다. 감사합니다.