제네릭

제네릭을 사용하면 컬렉션이 담을 수 있는 타입을 컴파일러에 알려주게 된다. 그래서 컴파일러는 알아서 형변환 코드를 추가할 수 있게 되고, 엉뚱한 타입의 객체를 넣으려는 시도를 컴파일 과정에서 차단하여 더 안전하고 명확한 프로그램을 만들어 준다.

item26


로 타입은 사용하지 말라

제네릭

제네릭이란

자바에서 제네릭(Generics)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 객체별로 다른 타입의 자료가 저장될 수 있도록 한다.

로 타입

로 타입이란

제네릭 타입에서 타입 매개변수를 전혀 사용하지 않을 때를 말한다. 예컨데 List<E>의 로 타입은 List 이다.

로 타입을 사용한다면 컬렉션에 값을 잘못 넣을 경우 형변환에 실패한다.

예시코드

for (Iterator i = stamps.iterator(); i.hasNext(); ) {
			Stamp stamp = (Stamp) i.next();
			stamp.cancle();
}