제한된 타입 파라미터
- 모든 타입으로 대체할 수 없고, 특정 타입과 자식 또는 구현 관계에 있는 타입만 대체할 수 있는 타입 파라미터
출처, 이것이 자바다
- 상위 타입은 클래스뿐만 아니라 인터페이스도 가능
출처, 이것이 자바다
package ch13.sec04;
/*
제한된 타입 파라미터 제네릭 메소드
*/
public class GenericExample {
//제한된 파라미터 T에 적용하는 타입 : Number클래스 이거나 Number클래스를 상속하는 하위데이터 타입
public static <T extends Number> boolean compare(T t1, T t2) {
//T의 타입을 출력
System.out.println("compare(" + t1.getClass().getSimpleName() + ", " +
t2.getClass().getSimpleName() + ")");
//Number의 메소드 사용
double v1 = t1.doubleValue(); //double 형변환
double v2 = t2.doubleValue();
return (v1 == v2);
}
public static void main(String[] args) {
//제네릭 메소드 호출
boolean result1 = compare(10, 20); //Integer
System.out.println(result1);
System.out.println();
boolean result2 = compare(4.5, 4.5); //Double
System.out.println(result2);
System.out.println();
}
}
'라이브러리 활용 - 제네릭' 카테고리의 다른 글
와일드카드 타입 파라미터 (0) | 2023.02.02 |
---|---|
제네릭 메소드 (0) | 2023.02.02 |
제네릭 타입 (0) | 2023.02.02 |
제네릭이란? (0) | 2023.02.02 |