Java

[JVM 밑바닥까지 파헤치기] 10-2. 프런트엔드 컴파일과 최적화: 편의 문법

noahkim_ 2024. 12. 25. 00:57

저우즈밍 님의 "JVM 밑바닥까지 파헤치기" 책을 정리한 포스팅 입니다

 

1. 제네릭

  • 매개 변수화된 타입 또는 매개 변수화된 다형성
구분 내용
타입 소거
컴파일 타임에만 타입 정보를 확인하고, 런타임에는 제거됨 (원시 타입으로 변환됨)
장점
하위 호환성 유지
컴파일 시 타입 검사로 타입 안정성 확보
단점
런타임에는 제네릭 타입 정보가 사라져 타입 캐스팅 관련 제한 존재
제약사항
- instanceof E:
- new E(): ❌
- new E[10]:
지원되지 않는 기능
- 기본 타입(int, double 등) 직접 사용 불가 → 오토박싱/언박싱 필요
- 제네릭 타입끼리 오버로딩 불가

 

2. 오토박싱, 언박싱

  • 래퍼 타입 / 복원 메서드로 자동 변환됨