inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

스택 영역과 힙 영역

스택 영역과 힙 영역 강의를 듣다가

250

서연

작성한 질문수 7

0

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

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

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

Data data1 = new Data(10);에서

  1. method1에서 생성된 data1은 method1 매서드의 지역이다.

  2. new Data(10)에 의해 생성된 인스턴스의 참조값이 data1에 저장된다.

  3. 그리고 new Data(10)에 의해 만들어진 Data 클래스의 인스턴스는 힙 영역에 저장이 된다.

이렇게 이해를 했는데,

힙 영역에 저장되는게

new Data(10)에 의해서 생성된 인스턴스의 참조값

즉, Data 클래스에 들어가서 value 값에 10을 넣어서 보관하고 있는 주소값 즉 참조값을 data1이 보관하고 있는 건가요?

그리고 그 참조값을 힙 영역에서 보관하고 있는건가요?

 

지역변수가 data1이고, 이게 스택영역에서 관리하는 것은 이해가 됬는데, 여기서 인스턴스는 명확하게 어떤것을 의미하는지 이해가 안되는 것 같습니다.

java 객체지향

답변 1

0

나무늘보

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

메모리의 단위는 1byte 인데요, 1byte의 블록이 순차적으로 나열되어 있습니다.

우리가 new 연산자를 이용해 Data 클래스의 인스턴스를 생성하면, 논리상으로 '힙 영역'으로 지정된 메모리에 Data의 인스턴스가 자리잡게 됩니다. 시작 메모리는 어디가 될지 사용자가 알 수 없지요. 인스턴스의 크기는 필드변수의 종류와 갯수에 따라 결정됩니다.

이렇게 메모리에 위치한 Data 인스턴스의 시작위치를 data1 이 갖고 있습니다. 그래서 언제든 data1을 이용해 힙 영역에 존재하는 인스턴스 위치로 이동할 수 있지요.

감사합니다.

질문있습니다

0

30

1

1번 문제 질문입니다.

0

35

1

음악플레이어 문제 중 코드질문

0

28

1

9장 상속 문제와 풀이 질문

0

38

1

강의 자료에 사소한 오타가 있습니다.

0

50

2

매서드 참조값 반환??

0

67

1

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

0

71

1

자바 기본편 - .(dot)에 관한 질문입니다!

0

85

1

공부방법

0

77

2

상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?

0

82

1

static method 질문

0

67

1

캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요

0

98

1

Method1에서 Student 객체

0

74

1

3강 18. null 질문

0

69

1

this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?

0

77

1

팩토리 메서드 패턴과 일반 생성자 사용의 장단점

0

97

1

문의

0

104

1

9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다

0

90

1

상속과 그에 따른 메모리 구조 질문

0

62

1

call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다

0

74

1

수강기한

0

136

1

기본편 객체지향 프로그래밍에 대한 정의

0

88

1

섹션10 상속 메모리 구조 및 문제 관련 질문

0

87

1

추가 지식 학습

0

153

2