간단하게 말해서 object형태로 업캐스팅해서 자료구조에 담아놓는 형태다.
논제네릭 자료구조를 사용하는것은 더이상 권장되지 않는다. 두가지 이유가 있다.
1. type unsafe
어떤 자료형의 데이터도 담을 수 있기 때문에, 사용한다고 하면 항상 개발자가 데이터가 어떤 자료형인지 추적하고 관리해야한다. 논제네릭이 type safe하지 않다고하는 이유가 이 때문이다.
2. boxing, unboxing
object로 업캐스팅하고, 본래의 자료형으로 다운캐스팅하는 작업이 스택메모리에 할당되어있는 인스턴스를 상대로 일어난다면 당연하게도 boxing, unboxing이 발생한다. 당연히 느리고, 오버헤드가 발생한다.
자료구조 안에서 사용하고자 하는 type을 명시적으로 정해놓는 자료구조이다. 당연히 type safe하며, boxing unboxing이 일어나지 않기 때문에 성능도 괜찮다. 논제너릭에 비해 유연한 사용은 불가능하지만(당연히) 이게 꼭 단점이라고 할수도없다. 사용 범위를 제약하기 때문에 목적자체가 명확해지고, 사용자가 실수할 여지도 적다. 여러가지 장점 때문에 Generic Collection을 권장한다.