Replies: 1 comment 1 reply
-
원시 타입 적용자바의 generic은 컴파일 타임에만 타입 정보를 활용하고, 런타임에는 타입 정보를 제거합니다. 컴파일러는 generic 코드를 타입-안전하게 확인하고, 런타임에 일반적인 Object 타입으로 변환합니다. 예를 들어) List<Integer> list = new ArrayList<>();
list.add(10);컴파일 후에 실제로는 아래와 같이 변환됩니다. List list = new ArrayList();
list.add(10); 즉 컴파일러는 타입 체크만 하고, 런타임에는 Object로 처리합니다. 원시 타입은 스택 메모리에 값을 직접 저장하며, Object처럼 참조되지 않습니다. 따라서 원시타입은 Object를 대체할 수 없기에 컴파일 에러가 발생합니다. Wrapper Class를 사용하는 대안도 존재하므로, 원시 타입을 지원하지 않습니다. static 변수generic은 컴파일 시점에만 타입 정보를 확인하고, 런타임에는 타입 정보가 제거됩니다. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
.
Beta Was this translation helpful? Give feedback.
All reactions