Generic Type erasure
소거란 원소 타입을 컴파일 타입에만 검사하고 런타임에는 해당 타입 정보를 알 수 없는 것
컴파일 타임에만 타입 제약 조건을 정의하고, 런타임에는 타입을 제거
소거란 원소 타입을 컴파일 타임에만 검사하고 런타임에는 해당 타입 정보를 알 수 없는 것
컴파일 타임에만 타입에 대한 제약 조건을 적용하고, 런타임에는 타입에 대한 정보를 소거하는 프로세스
결론은 간단
런타임에 타입을 추론하는 Array 대신에 컴파일 타임에 타임을 추론하는 List를 함께 사용해야 안정성을 보장 할 수 있다는 것
자바의 제네릭 타입 소거, 리스트에 관하여 (Java Generics Type Erasure, List)
public class Example{ private T member; } 위와 같이 클래스 및 인터페이스 선언에 타입 매개변수 T 가 사용되면 제네릭 클래스, 제네릭 인터페이스라고 말하는데, 이때 사용된 이 클래스 Example 를 제네릭타입이라고 이야기한다. 제네릭을 사용하면 로타입이라는 개념이 나오는데, 로타입은 제네릭 타입에서 타입 매개변수를 전혀 사용하지 않았을 때를 의미한다 즉, 위 제네릭 타입 Example 를 Example 로만 선언하여 사용했을 경우를 말한다.
https://jyami.tistory.com/99
[Java] Generic Type erasure란 무엇일까?
이번 글에서는 Generic Type erasure 에 대해서 알아보겠습니다. 저에게는 쉽지 않은 내용입니다 ㅠㅠ 하지만 중요한 내용이니 정리를 열심히 해보겠습니다. 제네릭 은 JDK 1.5에 도입되었습니다. 제네릭을 공부해보셨으면 확실히 버그에 대한 처리와 좀 더 안정적이고 편리하게?개발을 할 수 있다는 것을 느낄 수 있었을 것입니다. 이렇게 제네릭이 5버전 부터 나왔기에, 하위 버전과의 호환성 유지를 위한 작업이 필요했습니다.
https://devlog-wjdrbs96.tistory.com/263
