[Java] Java Generic (2) - 타입 소거 및 제한 사항
지난 시간에는 제네릭의 종류와, 사용법에 대해서 알아봤습니다. 이번시간에는 제네릭에 대해 컴파일러가 수행하는 타입 소거와, 공식문서에서 제안하는 제네릭 사용시 제안 사항에 대해서 알아보겠습니다. ✅ Type Erasure(타입 소거) 타입 소거는 제네릭의 사용 방식이라기 보단 컴파일러가 제네릭을 대하는 방식이라고 생각할 수 있습니다. 제네릭은 컴파일시 엄격한 유형 검사를 제공합니다. 자바 컴파일러는 제네릭 구현을 위해 Type Erasure 기능을 적용합니다. 타입 소거에 대한 규칙은 다음과 같습니다. 제네릭 타입의 모든 타입 매개변수를 해당 경계 혹은 Object 타입으로 교체합니다. 제네릭 타입을 제거한 후 타입이 일치하지 않는다면 타입 캐스팅을 합니다. 확장된 제네릭 타입의 다형성을 보존하기 위해 ..