제네릭 클래스와 제네릭 인텊에스를 통틀어 제네릭 타입이라 한다.
가각의 제네릭 타입은 일련의 매개변수화 티입(Parameterized type)을 정의한다.
로 타입을 사용하면 런타임에 예외가 일어날 수 있으니 사용하면 안된다.
로 타입이란 제네릭 타입에서 타입 매개변수를 전혀 사용하지 않을때를 말한다.
로 타입은 제네릭이 도입되기 이전 코드와의 호환성을 위해 제공될 뿐이다. 빠르게 훑어보자면, Set<Object>는 어떤 타입의 객체도 저장할 수 있는 매개변수화 타입이고, Set<?>는 모종의 타입 객체만 저장할 수 있는 와일드카드 타입이다. 그리고 이들의 로 타입인 Set은 제네릭 타입시스템에 속하지 않는다. Set<Object>와 Set<?> 안전하지만, 로 타입인 Set은 안전하지 않다.
'책 > EFFECTIVE JAVA' 카테고리의 다른 글
[제네릭]아이템28. 배열보다는 리스트를 사용하라 (0) | 2024.10.31 |
---|---|
[제네릭]아이템27. 비검사 경고를 제거하라 (0) | 2024.10.29 |
[클래스와 인터페이스]아이템25. 톱레벨 클래스는 한 파일에 하나만 담으라 (0) | 2024.10.21 |
[클래스와 인터페이스]아이템24. 멤버 클래스는 되도록 static으로 만들라 (0) | 2024.10.16 |
[클래스와 인터페이스]아이템23. 태그 달린 클래스보다는 클래스 계층구조를 활용하라 (6) | 2024.10.14 |