-
지네릭 메서드
- 지네릭 타입이 선언된 메서드(타입 변수는 메서드 내에서만 유효)
- 클래스의 타입 매개변서<T>와 메서드의 타입 매개변수<T>는 별개
예제
class FruitBox<T>{ ... static <T> void sort(List<T> list, Comparator<? super T> c){ ... } }
FruitBox<T> 라는 지네릭 클래스 속에 다음과 같은 지네릭 메서드가 있는 상황이다.
타입 문자가 <T>로 일치하지만 둘은 다른 타입 변수다.
지네릭 메서드는 그 메서드 내에서만 사용할 수 있으며 우선된다.
iv와 lv의 관계를 생각하면 이해가 쉽다. (가까운 곳이 우선순위)
- 메서드를 호출할 때마다 타입을 대입한다. (대부분 생략 가능)
와일드 카드와의 가장 큰 차이점이다.
와일드 카드는 하나의 참조변수로 서로 다른 타입이 대입된 여러 지네릭 객체를 다루기 위한 것이며,
지네릭 메서드는 메서드를 호출할 때마다 다른 지네릭 타입을 대입할 수 있게 한 것이다.
- 메서드를 호출할 때 타입을 생략하지 않을 때는 클래스 이름을 생략할 수 없다.
'공부 > Java' 카테고리의 다른 글
열거형(enum) (0) 2024.04.29 지네릭 형변환 (0) 2024.04.28 와일드 카드 (0) 2024.04.25 제한된 지네릭 클래스, 지네릭스의 제약 (0) 2024.04.24 HashMap과 지네릭스 (0) 2024.04.23