개발을 할 때 클래스 내에서 다른 객체들을 담는 역할을 수행하는 클래스를 생성하는 경우가 많습니다. 이런 경우 중 대표적인 예시로 스택이 있으며 다음 코드는 아이템 7에서 다룬 스택 코드입니다. 위 코드처럼 범용적으로 사용하기 위해 Object 객체를 담는 경우, 제네릭을 사용하면 ClassCastException을 미연에 방지할 수 있어 좋습니다. 제네릭을 사용하지 않을 경우, Object 배열 내 어떤 타입의 객체가 들어갈지 미리 알 수 없음 pop() 메서드에서 스택에서 꺼낸 객체를 형변환할 때, 제네릭을 사용하지 않으면 런타임 오류인 ClassCastException 발생 위험이 존재 정리하자면, 클래스 내에서 다른 객체들을 담는 역할을 수행하는 클래스는 제네릭으로 선언하는 것이 좋습니다. 이에 ..