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

Gloz0315님의 프로필 이미지
Gloz0315

작성한 질문수

김영한의 실전 자바 - 기본편

자바 메모리 구조

메서드 영역과 힙 영역에서의 객체 저장

해결된 질문

작성

·

359

0

객체 (인스턴스)가 생성되는 영역이 힙 영역이라고 하셨고

메서드 영역에서는 클래스 안에서의 필드 값이 존재한다고 하셨는데

 

그렇다면 객체 안에서의 멤버 변수들을 저장하는 값은 메서드 영역에서 생성된다는 건가요?

 

아니면 객체가 생성되는 힙 영역 안에서 객체 멤버 변수 값들도 다 같이 저장이 되는건가요?

 

헷갈려요..ㅠㅠ

답변 2

0

안녕하세요. Gloz0315님, 공식 서포터즈 코즈위버입니다.

결론을 말씀드리면, 메서드 영역안에 있는 클래스 정보를 바탕으로 new 연산자를 만날때마다 힙 영역에 새로운 인스턴스를 만듭니다. 그리고 인스턴스 마다 각각 멤버변수를 가지고 있습니다.

메서드 내에 존재하는 멤버변수는, 인스턴스를 생성할 때 참고를 할 뿐, 여기에 값을 직접 주입하지는 않습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

객체(인스턴스)와 관련한 메모리 영역에 대한 질문이시네요. 객체의 멤버 변수(인스턴스 변수)는 힙 영역에 저장되며, 메서드 영역은 클래스 수준의 정보(클래스 변수, 메서드 코드 등)를 저장합니다. 따라서 객체 안의 멤버 변수들은 힙 영역에 생성된 객체와 함께 저장됩니다. 자세한 설명이 필요하시다면 아래의 링크에서 동일한 주제에 대한 강사님의 답변을 확인하실 수 있습니다.

해당 링크를 참고하시면 더 자세한 내용을 알아보실 수 있습니다.

Gloz0315님의 프로필 이미지
Gloz0315

작성한 질문수

질문하기