JavaBookStudy / JavaBook

책읽기 스터디
https://javabookstudy.github.io/
Apache License 2.0
19 stars 2 forks source link

[Effective Java] Item 32. 힙 오염! #20

Closed taxol1203 closed 3 years ago

taxol1203 commented 3 years ago

코드 32-1에 예시에 따르면 힙 오염이 발생한다고 하였습니다.
힙 오염(Heap pollution) : 매개변수화 타입의 변수가 타입이 다른 객체를 참조하는 경우 발생.
왜 힙 오염이라고 명칭을 정했을까요?
예시에는 List<String>[]List<Integer>를 넣었는데, 이는 힙 영역에 의도와 다른 데이터가 들어가서 그런걸까요

kjsu0209 commented 3 years ago

힙 오염(Heap pollution)은 어떤 객체의 상위 타입이 아닌 레퍼런스가 객체를 가리키고 있는 것을 의미합니다. 이런 코드를 실행시키면 ClassCastException이 나오긴 하는데 컴파일러가 어디서 문제가 생겼는지 찾질 못한다고 합니다.

힙 영역에 문제가 생기는게 아니라 컴파일러가 원인을 못 찾아서 그런 것이라고 생각하면 될 것 같습니다 😃

참고