티스토리 뷰

Java & Kotlin

Java raw type

필자A 2022. 12. 12. 22:22

타입 파라미터가 없는 제네릭 타입

 

 

 

 

타입 파라미터를 사용하지 않으면

compile단계에서 막을수 없는 코드가 나올 수 있습니다.

아래의 3가지 경우에는 rawType의 사용으로

런타임시점에 ClassCastException이 발생되는 경우입니다.

에러의 경우 될수있으면 런타임시점에서 컴파일시점으로 끌고오는게정신건강에 좋습니다.

 

1번째 경우 

 

2번째 경우

 

3번째 경우

 

 

안전하지 못한 방식을 왜 허용해주냐하면 Java5 이전 코드와의 호환성 때문입니다.

type parameter가 적용된 코드를 raw type형식의 코드(java5 이전)와 함께 사용하기 위해서입니다.

그래서 generic에서는 type erasure를 통해 컴파일 후 바이트코드에서 제네릭의 존재가 사라집니다.(추측)

 

 

반응형

'Java & Kotlin' 카테고리의 다른 글

Java Lambda  (0) 2022.12.16
Java Collection Framework  (0) 2022.12.14
Java Generic  (0) 2022.12.12
Java NIO  (0) 2022.12.11
Java Buffer  (0) 2022.12.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함