인프런 커뮤니티 질문&답변

개발이하고싶어요님의 프로필 이미지
개발이하고싶어요

작성한 질문수

김영한의 실전 자바 - 중급 2편

정리

arrayList 다운 캐스팅 오버헤드에 대한 질문이 있습니다.

작성

·

72

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요 영한님 강의 잘 수강하고 있습니다 😀

수강중 한가지 궁금한 점이 생겨 질문드립니다.

arrayList에서 제너릭을 사용시 타입 이레이지에 의해 컴파일시 Obejct로 타입이 변경된다고 알고 있습니다. 당연히 그과정에서 값을 꺼내면 (예를들어 String을 꺼낸다고 가정) Object -> String으로 다운 캐스팅이 되어야 한다고 이해하고 있습니다.

이렇게 되면 개발자의 의도와 다른 다운 캐스팅이 발생하게 되고 이런 캐스팅은 리스트와 같은 복수개의 데이터를 다루는 컬렉션에서 오버헤드를 크게 발생시킬수도 있겠다는 생각을 하게 되었습니다. 혹시 이러한 질문에 대한 내용이 맞는지와 맞다면 어떤방식으로 개선할 수 있을지 의견을 구할 수 있을까요??

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 개발이하고싶어요님

우선 이런 경우 다운캐스팅이 성능에 미치는 부분은 아주 미미합니다.

자바 내부에서도 JIT 컴파일러 등을 통해서 이런 부분들을 최적화하기 때문에 전체적으로 보면 성능에 미치는 영향은 아주 미미하다고 보시면 됩니다.

감사합니다.

개발이하고싶어요님의 프로필 이미지
개발이하고싶어요

작성한 질문수

질문하기