[java] 제네릭 메서드와 가변 인자(Variadic Arguments)

자바에서 제네릭 메서드와 가변 인자는 각각 다양한 유연성과 편의성을 제공합니다. 이 두 기능은 코드를 더 간단하고 유지보수하기 쉽게 만들어줍니다.

제네릭 메서드

제네릭 메서드는 다양한 타입의 데이터를 다루는 메서드에 유용합니다. 메서드의 매개변수나 반환 값에 제네릭 타입을 사용함으로써 컴파일 단계에서 타입 안정성을 보장할 수 있습니다.

제네릭 메서드의 간단한 예시는 다음과 같습니다.

public <T> void printArray(T[] arr) {
    for (T element : arr) {
        System.out.println(element);
    }
}

위의 예시에서, <T>는 제네릭 타입을 정의하고, T는 임의의 데이터 타입을 나타냅니다. 이렇게하면 printArray 메서드는 어떤 타입의 배열이든지 받아들일 수 있습니다.

가변 인자(Variadic Arguments)

가변 인자는 메서드가 임의의 개수의 인자를 받을 수 있도록 해줍니다. 메서드의 매개변수 선언에서 ...을 사용하여 가변 개수의 인자를 처리할 수 있습니다.

가변 인자를 사용한 간단한 메서드 예시는 다음과 같습니다.

public int sum(int... numbers) {
    int result = 0;
    for (int num : numbers) {
        result += num;
    }
    return result;
}

위의 예시에서, int... numbers는 0개 이상의 int형 인자를 받을 수 있게 해줍니다.

결론

제네릭 메서드와 가변 인자는 자바 프로그래밍에서 매우 유용한 기능입니다. 그들을 사용함으로써, 다양한 타입의 데이터나 임의의 개수의 인자를 다루는 메서드를 보다 안전하고 효율적으로 구현할 수 있습니다.


참고 문헌