Generic
Generic Type Erasure는 어떻게 타입캐스팅을 하는건가요?
Generic Type Erasure는 어떻게 타입캐스팅을 하는건가요?
2021.12.07서론 커뮤니티에 다음과 같은 질문이 올라왔다. 질문 내용은 다음과 같다. 제네릭은 런타임시 타입 소거(type erasure)를 하기 때문에, 언바운디드(unbounded) 타입 같은 경우 Object로 치환 되는데, 어떻게 클라이언트에서 선언한 타입으로 캐스팅이 되는건가요?? 쉽게 풀어서 얘기하면, 다음 코드에서 리턴 타입은 Object인데 어떻게 클라이언트에서 서브 타입으로 타입 캐스팅 없이 받냐라는 내용이다. // 리턴 타입은 Object 라면서??! public T get(T t) { return t; } 우선 타입 소거가 무엇인지 알아보자. 타입 소거 Type Erasure 다음 내용은 오라클 공식 문서에 나와있는 Type Erasure에 대한 설명 중 일부다. Generics were intr..