raw타입

    [Effective Java] raw 타입은 사용하지 말자

    제네릭 클래스/인터페이스 클래스와 인터페이스 선언에 타입 매개변수가 쓰이면 제네릭 클래스 혹은 제네릭 인터페이스라 한다. 제네릭 타입은 일련의 매개변수화 타입을 정의한다. => List, Map, Integer etc raw 타입 제네릭 타입에서 타입 매개변수를 전혀 사용하지 않을 때를 말하며 List에서 List가 raw 타입이다. 다음과 같이 raw타입으로 변수를 선언할 수 있다. private final Collection stamps = ...; 하지만 이 코드를 사용하면 stamp대신 coin을 넣어도 아무 오류 없이 컴파일되고 실행된다. 이 에러가 발견되는 시점은 다음과 같이 이 동전을 꺼낼 때이다. Stamp stamp = (Stamp) stamps.get(0); 하지만 제네릭을 활용하면 이..