지네릭 타입 - 원시 타입 간의 형변환은 바람직하지 않다.(경고 발생)
와일드카드가 사용된 지네릭 타입으로는 형변환 가능
Box<? extends Object> wBox = new Box<String>();
Box<? extends Object> wBox = (Box<? extends Object>)new Box<String>();
위 두문장은 같은 의미!
FruitBox<? extends Fruit> box = new FruitBox<Apple>();
FruitBox<? extends Fruit> box = (FruitBox<? extends Fruit>)new Box<Apple>();
앞에서 했던 것과 같음!
<T>
-> Object
<T extends Fruit>
-> Fruit