public <T> T foo(LIst<T> list) { }
전달되는 타입 매개변수의 범위를 제한하고 싶다면?
public <T extends Fruit> T foo(List<T> list) { } // O
public <T> T foo(List<T extends Fruit> list) { } // X
public <T> T foo(LIst<T> list) { }
전달되는 타입 매개변수의 범위를 제한하고 싶다면?
public <T extends Fruit> T foo(List<T> list) { } // O
public <T> T foo(List<T extends Fruit> list) { } // X