자바 제네릭 메서드는 메서드에 사용되는 타입을 일반화하는 기술을 제공합니다. 제네릭 메서드는 메서드의 시그니처에서 하나 이상의 타입 매개변수를 포함하고, 이러한 매개변수는 메서드의 리턴 타입이나 매개변수의 타입으로 사용될 수 있습니다.
제네릭 메서드를 정의하는 일반적인 구문은 다음과 같습니다.
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
'JAVA > 포스팅' 카테고리의 다른 글
자바 제네릭 타입의 제거 (0) | 2023.11.19 |
---|---|
자바 제네릭 타입의 형변환 (0) | 2023.11.19 |
자바 제네릭스 와일드 카드 (0) | 2023.11.19 |
자바 제네릭 제한된 클래스 (0) | 2023.11.19 |
자바 제네릭 클래스의 객체 생성과 사용 (0) | 2023.11.19 |