매개변수 또는 반환 타입으로 제네릭 타입을 사용하는 메서드. 제네릭 타입은 클래스 또는 인터페이스에서 사용하는 타입 매개변수와 마찬가지로, 다양한 타입의 객체를 다루는 메서드를 작성.
제네릭 메서드는 일반적으로 자주 사용되는 데이터 타입에 대한 반복적인 작업을 수행하는데 유용
public static <T extends Comparable> void sortArray(T[] arr) {
int n = arr.length;
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j].compareTo(arr[j+1]) > 0) {
T temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
->배열을 정렬하는 메서드를 작성할 때, 배열의 데이터 타입에 관계없이 작성할 수 있도록 제네릭 메서드를 사용. 이러한 방식으로 코드를 작성하면, 타입 변환을 해줘야 하는 번거로움을 줄이고, 타입 안정성을 보장 가능함.
위 예제에서 <T extends Comparable>는 제네릭 타입 매개변수를 선언하는 부분.
T는 Comparable 인터페이스를 구현한 타입으로 제한이 된다.
이는 arr 배열의 요소가 Comparable 인터페이스를 구현한 객체임을 보장. 이제 배열을 정렬하는 로직은 타입에 관계없이 작동할 수 있습니다. 이러한 방식으로 제네릭 메서드를 사용하면, 타입 안정성과 코드 재사용성을 동시에 보장할 수 있습니다.