제네릭 메서드 (Generic method)

김지민·2023년 4월 28일
0

정의

매개변수 또는 반환 타입으로 제네릭 타입을 사용하는 메서드. 제네릭 타입은 클래스 또는 인터페이스에서 사용하는 타입 매개변수와 마찬가지로, 다양한 타입의 객체를 다루는 메서드를 작성.

특징

  • 매개변수나 반환값이 제네릭 타입을 사용
  • 호출할 때마다 실제 타입 매개변수를 전달

사용하는 이유

제네릭 메서드는 일반적으로 자주 사용되는 데이터 타입에 대한 반복적인 작업을 수행하는데 유용

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 인터페이스를 구현한 객체임을 보장. 이제 배열을 정렬하는 로직은 타입에 관계없이 작동할 수 있습니다. 이러한 방식으로 제네릭 메서드를 사용하면, 타입 안정성과 코드 재사용성을 동시에 보장할 수 있습니다.

profile
한 단계씩 차근차근

0개의 댓글