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

전형진님의 프로필 이미지
전형진

작성한 질문수

더 자바, 코드를 조작하는 다양한 방법

클래스 로더

강의자료에서 링크의 Resolve 내용에 대한 질문입니다.

작성

·

311

0

현재 링크의 Resolve 설명에서 `심볼릭 메모리 레퍼런스를 메소드 영역에 있는 실제 레퍼런스로 교체한다.`라고 명시되어 있습니다.

메소드 영역은 클래스 정보만을 저장하는 영역이라 알고 있어서 메소드 영역이 아니고 힙 영역이라고 맞다고 생각이 드는데, 이것이 맞는지 궁금합니다.

답변 2

1

백기선님의 프로필 이미지
백기선
지식공유자

수업 50초에서 설명하지만, 메소드 영역이라는 메모리에는 클래스 정보가 담기는데, 그 "클래스 정보"에 클래스가 담고 있는 메소드에 대한 정보도 들어있습니다. 그러니 메소드 영역에 있는 실제 레퍼런스를 참조하도록 바꾸는게 맞는거고 힙 영역을 참조하는게 아닙니다.

0

이거와 관련된 내용으로, 11:00쯤에 말씀하신 '심볼릭 메모리 레퍼런스를 힙에 들어있는 Book 객체 인스턴스를 가르키도록 하는 과정'은 틀린 설명 같습니다. resolve 단계에서는 Book 객체가 힙에 할당되어 있지 않기 때문이죠.

 

제 생각엔 Book 클래스와 Book 클래스 생성자의 심볼릭한 참조를 실제 메서드 영역에 할당된 클래스 정보와 생성자에 매핑 한다는 게 더 적절한 표현인 것 같습니다.

관련해서 틀린 부분이 있다면 피드백 부탁드립니다.

전형진님의 프로필 이미지
전형진

작성한 질문수

질문하기