공부기록/Java
제네릭(2)
jhs0129
2021. 8. 9. 17:01
320x100
반응형
- 제한된 타입 파라미터
타입 파라미터를 구체적으로 지정하여 제한
ex) 계산기 구현할 때 숫자만을 지정하기 위해서 매개변수로 Number로 제한
<T extends 상위타입>
클래스 인터페이스 모두 가능 *인터페이스라고 implements사용X 오로지 extends만 사용
public class study1 {
public static void main(String[] args) {
System.out.println(Util.compare(10,20));
System.out.println(Util.compare("apple", "orange"));//error
}
}
class Util{
public static <T extends Number> boolean compare(T t1, T t2){
return Double.compare(t1.doubleValue(), t2.doubleValue()) == 1 ? true:false;
}
}
- 와일드카드(?) 타입
제네릭 타입을 매개값이나 리턴 타입으로 사용할 때 구체적인 타입 대신 와일드 카드로 사용가능
- 제네릭타입<?>
- 제네릭타입<? extends 상위타입>
- 제네릭타입<? super 하위타입>
- 제네릭 타입의 상속과 구현
제네릭 타입은 상속 구현 가능
방식은 일반 상속과 동일하지만 제네릭 타입을 일치시켜주면 됨
320x100
반응형