이 클래스 계층 구조가 있다고 가정하십시오 ...
public abstract class Animal {
public abstract void eat();
public abstract void talk();
}
class Dog extends Animal {
@Override
public void eat() {
}
@Override
public void talk() {
}
}
class Cat extends Animal {
@Override
public void eat() {
}
@Override
public void talk() {
}
}
그리고 나는 ...
public static <T extends Animal> void addAnimal(T animal) {
animal.eat();
animal.talk();
}
public static void addAnimalPoly(Animal animal) {
animal.eat();
animal.talk();
}
경계 유형 매개 변수 또는 다형성을 사용할 때의 차이점은 무엇입니까?
그리고 언제 하나를 사용해야합니까?
addAnimals(List<Animal>)
고양이 목록을 작성 하고 추가하십시오!