CH10-1 · MODEL

제네릭 타입과 타입 안전성: 먼저 구분할 경계

제네릭은 같은 자료구조나 알고리즘을 여러 참조 타입에 적용하면서 컴파일 시점의 타입 검사를 유지합니다.

핵심 경계

타입 매개변수가 저장과 반환의 관계를 묶는다

Box의 put과 get이 같은 T를 사용하므로 넣은 타입과 꺼내는 타입을 컴파일러가 연결합니다.

핵심 경계

다이아몬드 연산자가 문맥에서 타입을 추론한다

new Box()의 오른쪽 타입 인자를 new Box<>()로 줄여도 왼쪽 선언에서 String을 압니다.

핵심 경계

원시 타입은 타입 검사를 우회한다

Box raw에는 어떤 객체든 넣을 수 있어 나중에 예상 타입으로 읽을 때 ClassCastException이 날 수 있습니다.

핵심 경계 Box의 put과 get이 같은 T를 사용하므로 넣은 타입과 꺼내는 타입을 컴파일러가 연결합니다.