질: 지네릭은 컴파일 기술이므로 타입 파라미터 정보는 바이트 코드에 남지 않는다고 하던데요? 답: "예. 맞습니다. 하지만 컴파일에 필요한 정보는 남겨 둬야겠죠?" 11.05.19 02:16
이렇게 정리하니 남기는 이유와 기준이 명료하네 / java generics type parameter type erasure
14 개의 댓글이 있습니다.
?
질: 그래서, 아~
Jil 이라든지 누군가의 어느 영화의 대사려니 했어요. :ㅁ:
" 자바의 Generic은 타입 정보를 지워버린다는 오해입니다. 클래스 파일에 붙어있는 타입 정보는 지워지지 않습니다. 코딩을 해놨는데 그걸 굳이 지워버릴 필요는 없겠죠. 단지 런타임 시에 해당 클래스 타입의 객체에서 지워져버릴 뿐이죠."
"따라서 클래스 파일에 붙어있는 타입 정보를 얼마든지 활용할 수도 있습니다."
출처: http://whiteship.me/?p=10611
냠냠 응응 전에 아저씨 블로그 보고 "오호~"하고 알게 되었지. 다만 type erasure가 적용되는 범위를 좀 명확히 이해 못했는데 저 한마디로 명확히 할 수 있어서...
fupfin 명료한 정리네요. (그런데 어제도 그렇게 정리가 되지 않았던가요;;;)
fupfin 이미 정리가 되셨겠지만, 어제 보여주신 ParamterizedType 조회 코드는 클래스 파일에 asciz로 저장된 signature 정보를 조회하는 것이더군요.
네피림 죄송합니다. Class Method에 반환 타입을 지정한 경우엔 확실했는데 나머지는 모호함이 남아 있었습니다. -_-
네피림 네 시그니처 정보를 조회하는 것 맞습니다. 그런데 asciz가 뭔가요? -_-
fupfin 그러게요. asciz라니... 잠시 빙의가 됐나 봅니다. @_@;
fupfin 나머지는 모호함 정리해 주세요~! 저도 혼돈에서 구원받고 싶어요
네피림 세상은 카오스죠. 그냥 받아들이세요.
?
11.05.19 07:44질: 그래서, 아~
11.05.19 07:46Jil 이라든지 누군가의 어느 영화의 대사려니 했어요. :ㅁ:
11.05.19 07:47" 자바의 Generic은 타입 정보를 지워버린다는 오해입니다. 클래스 파일에 붙어있는 타입 정보는 지워지지 않습니다. 코딩을 해놨는데 그걸 굳이 지워버릴 필요는 없겠죠. 단지 런타임 시에 해당 클래스 타입의 객체에서 지워져버릴 뿐이죠."
11.05.19 07:48"따라서 클래스 파일에 붙어있는 타입 정보를 얼마든지 활용할 수도 있습니다."
11.05.19 07:48출처: http://whiteship.me/?p=10611
11.05.19 07:49냠냠 응응 전에 아저씨 블로그 보고 "오호~"하고 알게 되었지. 다만 type erasure가 적용되는 범위를 좀 명확히 이해 못했는데 저 한마디로 명확히 할 수 있어서...
11.05.19 09:25fupfin 명료한 정리네요. (그런데 어제도 그렇게 정리가 되지 않았던가요;;;)
11.05.19 15:50fupfin 이미 정리가 되셨겠지만, 어제 보여주신 ParamterizedType 조회 코드는 클래스 파일에 asciz로 저장된 signature 정보를 조회하는 것이더군요.
11.05.19 15:53네피림 죄송합니다. Class Method에 반환 타입을 지정한 경우엔 확실했는데 나머지는 모호함이 남아 있었습니다. -_-
11.05.19 16:00네피림 네 시그니처 정보를 조회하는 것 맞습니다. 그런데 asciz가 뭔가요? -_-
11.05.19 16:02fupfin 그러게요. asciz라니... 잠시 빙의가 됐나 봅니다. @_@;
11.05.19 16:29fupfin 나머지는 모호함 정리해 주세요~! 저도 혼돈에서 구원받고 싶어요
11.05.19 16:30네피림 세상은 카오스죠. 그냥 받아들이세요.
11.05.19 16:59