저우즈밍 님의 "JVM 밑바닥까지 파헤치기" 책을 정리한 포스팅 입니다
1. 제네릭
- 매개 변수화된 타입 또는 매개 변수화된 다형성
구분 | 내용 |
타입 소거 |
컴파일 타임에만 타입 정보를 확인하고, 런타임에는 제거됨 (원시 타입으로 변환됨)
|
장점 |
하위 호환성 유지
컴파일 시 타입 검사로 타입 안정성 확보 |
단점 |
런타임에는 제네릭 타입 정보가 사라져 타입 캐스팅 관련 제한 존재
|
제약사항 |
- instanceof E: ❌
- new E(): ❌ - new E[10]: ❌ |
지원되지 않는 기능 |
- 기본 타입(int, double 등) 직접 사용 불가 → 오토박싱/언박싱 필요
- 제네릭 타입끼리 오버로딩 불가 |
2. 오토박싱, 언박싱
- 래퍼 타입 / 복원 메서드로 자동 변환됨
'Java' 카테고리의 다른 글
[JVM 밑바닥까지 파헤치기] 11-2. 백엔드 컴파일과 최적화: JIT 컴파일러 (0) | 2024.12.25 |
---|---|
[JVM 밑바닥까지 파헤치기] 11-1. 백엔드 컴파일과 최적화: 백엔드 컴파일 (0) | 2024.12.25 |
[JVM 밑바닥까지 파헤치기] 10-1. 프런트엔드 컴파일과 최적화: 프런트엔드 컴파일 (0) | 2024.12.24 |
[JVM 밑바닥까지 파헤치기] 9. 클래스 로딩과 실행 서브시스템, 사례와 실전 (2) | 2024.12.24 |
[JVM 밑바닥까지 파헤치기] 8-2. 바이트코드 실행 엔진: 바이트코드 해석 (0) | 2024.12.24 |