[java] 와일드카드(Wildcard)를 사용한 제네릭 타입의 유연한 처리

제네릭 타입은 Java 프로그래밍에서 타입 안전성을 보장하고 객체의 재사용성을 높이는 데 사용됩니다. 와일드카드는 제네릭 타입을 더 유연하게 다룰 수 있도록 도와주는데, 이번 글에서는 와일드카드의 개념과 사용법에 대해 알아보겠습니다.

와일드카드란?

와일드카드는 ? 기호를 사용하여 표현되며, 제네릭 타입의 일부 또는 전체를 대체하는 데 사용됩니다. 와일드카드는 다음 세 가지 형태로 나타낼 수 있습니다.

  1. ? extends T: T 타입 및 T의 하위 타입만을 나타내는 와일드카드
  2. ? super T: T 타입 및 T의 상위 타입만을 나타내는 와일드카드
  3. ?: 모든 타입을 나타내는 와일드카드

와일드카드를 사용하면 제네릭 타입을 더 유연하게 다룰 수 있으며, 다양한 상황에 대응하기 쉽습니다.

와일드카드의 사용 예시

다음은 와일드카드를 사용한 간단한 예시 코드입니다.

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 공식 문서 및 다양한 참고 자료를 참고해 보시기 바랍니다.

참고 자료

와일드카드를 사용한 제네릭 타입의 유연한 처리에 대해 알아보았습니다. 감사합니다.