[java] 지네릭 메소드

지네릭(Generic)은 Java에서 컴파일 시에 타입 검사를 할 수 있도록 하고, 타입 안정성을 제공하는 기능입니다. 지네릭 타입은 클래스나 인터페이스에 사용될 타입을 컴파일 시에 결정할 수 있게 해주는 것입니다.

지네릭 메소드는 클래스 안에서 메소드의 매개변수나 반환값으로 사용되는 타입을 지네릭 타입으로 선언하는 것입니다. 이렇게 선언된 지네릭 메소드는 여러 종류의 타입을 인자로 받을 수 있습니다.

지네릭 메소드의 선언

지네릭 메소드를 선언하기 위해서는 메소드의 반환 타입 앞에 <T>와 같은 형태의 지네릭 타입을 선언해야 합니다. 타입 변수 이름은 보통 T, E, K, V 등으로 사용됩니다.

public <T> T methodName(T parameter) {
    // 메소드 로직
}

위의 코드에서 T는 메소드가 인자로 받는 타입과 반환 타입을 지네릭으로 선언할 수 있음을 나타냅니다.

지네릭 메소드의 사용

지네릭 메소드는 호출 시에 데이터 타입을 명시적으로 지정하거나, 컴파일러가 매개 변수의 타입을 추론하여 사용할 수 있습니다.

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

public static void main(String[] args) {
    Integer[] intArray = {1, 2, 3, 4, 5};
    String[] strArray = {"Hello", "World"};

    printArray(intArray);
    printArray(strArray);
}

위의 예제에서 printArray 메소드는 지네릭 메소드로 선언되어 있습니다. 배열을 인자로 받고 배열의 각 요소를 출력하는 역할을 합니다. main 메소드에서 printArray를 호출할 때, intArraystrArray의 타입을 각각 명시적으로 지정하지 않아도 됩니다. 컴파일러가 매개 변수의 타입을 추론하여 사용합니다.

요약

Java에서의 지네릭 메소드는 클래스 안에서 메소드의 매개변수나 반환값으로 사용되는 타입을 지네릭 타입으로 선언하는 것입니다. 지네릭 메소드는 타입의 안정성을 제공하며, 여러 종류의 타입을 인자로 받을 수 있습니다. 지네릭 메소드를 사용하면 코드의 재사용성과 가독성을 높일 수 있습니다.

참고자료: