아이템261 [Effective Java] 아이템26 로 타입은 사용하지 말라 ■ 로(raw) 타입이란? 로 타입이란 제네릭 타입에서 타입 매개변수를 전혀 사용하지 않은 때를 말한다. 예를 들어서 List의 로 타입은 List다. 제네릭 도입 이후에도 로 타입을 지원하는 이유는 기존 자바 버전과의 호환성 때문이다. 아래 컬렉션 예제 코드에서처럼 로 타입을 사용하여 객체를 저장 하면 컴파일 할 때는 에러가 발생하지 않는다. 그리고 런타임 때 저장된 객체를 꺼내면서 오류가 발생한다. 오류는 컴파일 시점에 발견하는 것이 좋다. //로 타입으로 인스턴스 저장 private final Collection stamps = ...; stamps.add(new Coin()); //데이터 꺼낼 때 오류 발생 for(Iterator i = stamps.iterator(); i.hasNext();){.. 2021. 3. 8. 이전 1 다음