List<Dog> dogs = new ArrayList<Dog>(); List<Animal> animals = dogs; animals.add(new Cat()); Dog dog = dogs.get(0);
Dog 리스트에 Cat을 삽입할 수 있게되는 문제가 있다.
배열은 이런 오류 발생을 런타임시 알 수 있지만 리스트는 컴파일시 바로 알 수 있다.