JAVA/포스팅

자바 제네릭 메서드

짜집퍼박사(짜박) 2023. 11. 19. 00:40

자바 제네릭 메서드는 메서드에 사용되는 타입을 일반화하는 기술을 제공합니다. 제네릭 메서드는 메서드의 시그니처에서 하나 이상의 타입 매개변수를 포함하고, 이러한 매개변수는 메서드의 리턴 타입이나 매개변수의 타입으로 사용될 수 있습니다.

제네릭 메서드를 정의하는 일반적인 구문은 다음과 같습니다.

public <T> ReturnType methodName(T parameter1, T parameter2, ...) {
    // 메서드 구현
}

여기서 <T>는 타입 매개변수를 나타내며, 이를 사용하여 메서드의 매개변수의 타입이나 리턴 타입을 지정합니다.
아래는 제네릭 메서드의 예제들입니다.

 

1. 단일 타입 매개변수 사용

public <T> void printElement(T element) {
    System.out.println(element);
}

 

2. 여러 타입 매개변수 사용

public <T, U> void processPair(T first, U second) {
    System.out.println("First: " + first + ", Second: " + second);
}

 

3. 타입 제한 사용

public <T extends Number> double addAndConvert(T num1, T num2) {
    double sum = num1.doubleValue() + num2.doubleValue();
    return sum;
}

위의 예제에서 <T extends Number>은 T가 Number 클래스 또는 그 하위 클래스만을 허용한다는 의미입니다.

 

4. 와일드 카드 사용

public static <T> void copyElements(List<? extends T> source, List<T> destination) {
    for (T element : source) {
        destination.add(element);
    }
}

위의 메서드는 source 리스트의 요소를 destination 리스트에 복사하는데, source 리스트의 타입은 T나 T의 하위 타입이어야 합니다.

제네릭 메서드를 사용하면 컴파일 시간에 타입 안전성을 보장할 수 있고, 코드의 재사용성과 가독성을 향상시킬 수 있습니다.

 

With ChatGPT