• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

질문

24.02.05 06:17 작성 조회수 122

0

지역변수는 메서드 안에서만 정의되고 , 메서드가 끝나면 지역 변수 값 자체가 제거되는건가요 ? 아니면 변수 자체가 사라지는건가요?

무엇이 제거되는지 좀 더 자세히 알려주시면 감사드리겠습니다.

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2024.02.05

안녕하세요. ghuhan18님, 공식 서포터즈 y2gcoder입니다.

지역 변수(매개변수 포함)는 메서드가 끝나면 변수가 사라지게 됩니다. 이 때 변수에 대입한 것이 무엇이냐에 따라 후처리가 달라질 것 같습니다.

기본형 리터럴 => 변수가 사라지면서 같이 사라집니다!

참조형 참조값 => 참조값이 사라져 참조값으로 찾을 수 있던 인스턴스도 GC의 대상이 되어 사라집니다.

결과적으로는 메서드가 끝나면 지역변수 가 사라지면서 대입한 값도 같이 사라진다고 이해해주시면 감사하겠습니다! 아마 섹션 7. 자바 메모리 구조와 static 을 학습하시면 더 이해가 잘되실 거라 생각합니다!

감사합니다.