Closed taxol1203 closed 3 years ago
코드 32-1에 예시에 따르면 힙 오염이 발생한다고 하였습니다. 힙 오염(Heap pollution) : 매개변수화 타입의 변수가 타입이 다른 객체를 참조하는 경우 발생. 왜 힙 오염이라고 명칭을 정했을까요? 예시에는 List<String>[] 에 List<Integer>를 넣었는데, 이는 힙 영역에 의도와 다른 데이터가 들어가서 그런걸까요
List<String>[]
List<Integer>
힙 오염(Heap pollution)은 어떤 객체의 상위 타입이 아닌 레퍼런스가 객체를 가리키고 있는 것을 의미합니다. 이런 코드를 실행시키면 ClassCastException이 나오긴 하는데 컴파일러가 어디서 문제가 생겼는지 찾질 못한다고 합니다.
힙 영역에 문제가 생기는게 아니라 컴파일러가 원인을 못 찾아서 그런 것이라고 생각하면 될 것 같습니다 😃
참고
코드 32-1에 예시에 따르면 힙 오염이 발생한다고 하였습니다.
힙 오염(Heap pollution) : 매개변수화 타입의 변수가 타입이 다른 객체를 참조하는 경우 발생.
왜 힙 오염이라고 명칭을 정했을까요?
예시에는
List<String>[]
에List<Integer>
를 넣었는데, 이는 힙 영역에 의도와 다른 데이터가 들어가서 그런걸까요