• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

static 메서드의 존재 이유 및 인스턴스 메서드 참조값에 대한 질문입니다.

24.04.05 00:46 작성 24.04.05 01:44 수정 조회수 162

0

========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]

  1. 클래스에 있는 모든 메서드들은 메서드 영역에 저장된다고 하셨습니다. 따라서 static 메소드와 일반 메소드 모두 메서드 영역에 저장되는 것으로 이해됩니다. 그렇다면 static 메서드의 존재 이유는 인스턴스 생성없이 메서드를 사용할 수 있게 하는 목적 하나뿐인가요?

  2. static 메서드안에는 static만 사용이 가능합니다. 이때 참조값의 문제때문에 인스턴스 영역을 사용할 수 없다고 하셨습니다. 그런데 클래스의 모든 매서드는 메서드 영역에 저장된다고 하셨습니다. 그렇다면 인스턴스가 생성될 시 인스턴스 매서드에는 어떤 참조값이 어디에 어떻게 저장이 되나요?

 

강의 너무 잘 듣고 있습니다. 감사합니다.

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2024.04.05

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

  1. 말씀하신 것과 같이 인스턴스 생성 없이 클래스 레벨에서 사용할 수 있다는 것이 제일 중요할 것 같습니다.

  2. 아시는 바와 같이 인스턴스 자체는 힙 영역에 저장되고, 인스턴스 메서드 내 필드들은 메서드 호출과 함께 메서드 스택 프레임 내에 존재하게 됩니다.

본 챕터 강의를 한번 더 복습해보시면 이해가 되실 겁니다!

감사합니다.

채널톡 아이콘