• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

객체형 데이터의 경우, property들이 "연속된" 메모리공간에 할당되는 것이라고 이해해도 될까요?

21.07.31 12:06 작성 조회수 267

0

안녕하세요,좋은강의 주셔서 감사합니다.

4:22초쯤에 참조형 데이터의 경우 메모리 할당방식에 대해서 설명주시고 계신데, 

객체의 property들의 값이 저장될 연속적인 메모리공간의 시작주소를  객체의 참조변수가 가르키는 메모리공간에서 가르킨다고 이해하였는데 맞게 이해한건지 궁금하여 질문드립니다.

(객체의 참조변수 ->  property들 값이 저장될 연속된 메모리 공간의 시작주소를 가르키는 메모리공간 ->  property들 값이 저장될 연속된 메모리 공간의 시작주소)

답변 1

답변을 작성해보세요.

1

맞게 이해하셨습니다.
5002에는 7103~? 가 저장되고
1002에 5002가 저장됩니다.

강의에서는 기본형과 참조형의 차이를 이해하는 데에 집중하고자
메모리 구조를 최대한 추상화, 단순화시켰습니다.

메모리는 실제로는 stack / heap memory로 구분되는데요,
이 중 참조형 데이터의 내부 프로퍼티들은  heap memory에 저장됩니다.
강의의 ( 7103~? / 8104~? ) 영역이 바로 힙메모리입니다.

힙메모리에는 실행 중에 동적으로 크기와 할당/해제 시기가 결정됩니다.
힙메모리도 기본적으로 메모리 주소가 작은 곳부터 순서로 저장되며,
상황에 따라 원하는 크기만큼의 공간이 할당되고,
이미 할당된 메모리라도 언제든지 크기를 조절할 수 있습니다.
따라서 유동적으로 계속 변화할 수 있는 객체에 적합한 메모리 형태인 것이죠.

katd6님의 프로필

katd6

질문자

2021.08.02

감사합니다 ! 매번 좋은 강의내주셔서 많이 배워갑니다!