inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

정리

메소드 영역, 힙 영역

해결된 질문

106

soojinkimss

작성한 질문수 58

0

[질문 내용]

섹션8. 자바 메모리 구조와 static 강의 1분 42초 쯤에 김영한 강사님께서 static영역에서 변수 데이터, 변수 선언해서 스태틱을 해버리면 힙 영역의 참조값을 참조할 수 있다고 그러셨는데,
이 말인 즉슨, static 메소드에서 매개변수로 변수 데이터를 선언해서 그 매개변수를 통해 참조값을 참조할 수 있다고 얘기하신게 같은 의미인지 궁금해서 질문합니다.

java 객체지향

답변 1

0

인프런 AI 인턴

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

자바의 메모리 구조에서 static 메소드가 힙 영역의 데이터를 참조한다는 설명은 다음과 같은 맥락에서 이해할 수 있습니다:

  • static 변수는 클래스가 메모리에 로드될 때 메소드 영역(또는 Static 영역)에 저장됩니다. 이 변수들은 모든 인스턴스가 공유하며, 프로그램 실행 중 언제든지 접근 가능합니다.

  • Static 메소드는 특정 인스턴스에 종속되지 않으므로 인스턴스 변수에 직접 접근할 수는 없습니다. 하지만, static 메소드 내에서도 매개변수를 통해 힙 영역의 데이터를 참조할 수 있습니다. 즉, 메소드가 호출될 때 전달된 참조 타입 매개변수는 힙 영역의 객체를 가리킵니다.

즉, 말씀하신 대로 static 메소드가 매개변수를 통해 힙 영역의 데이터를 참조할 수 있다는 것은 맞습니다. 이는 메모리 관리에서 객체의 참조를 다루는 중요한 부분입니다.

관련 질문에 대한 추가 설명을 원하시면, 인프런의 유사한 사례들을 참조하시면 좋습니다:

  1. static 영역에는 static 변수들을 보관한다는 설명에 관해서 - 이 게시글에서는 static 영역이 클래스 정보와 static 변수를 포함하고 있다는 설명을 제공합니다.

  2. Java 8 이후 static 변수의 관리에 대한 논의 - 자바 8의 메모리 구조 변화에 대한 논의가 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

질문있습니다

0

25

1

1번 문제 질문입니다.

0

31

1

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

0

26

1

9장 상속 문제와 풀이 질문

0

38

1

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

0

48

2

매서드 참조값 반환??

0

66

1

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

0

69

1

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

0

85

1

공부방법

0

74

2

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

0

82

1

static method 질문

0

66

1

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

0

95

1

Method1에서 Student 객체

0

73

1

3강 18. null 질문

0

67

1

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

0

75

1

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

0

97

1

문의

0

104

1

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

0

89

1

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

0

62

1

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

0

74

1

수강기한

0

135

1

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

0

86

1

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

0

87

1

추가 지식 학습

0

152

2