• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Class메소드와 instance메소드 상호 호출 관계 질문

22.05.15 07:43 작성 조회수 111

0

안녕하세요 선생님. 강의를 듣다가 질문이 생겨 문의드립니다.
 
한 클래스 내에, class메소드(static 메소드)와 instance메소드 가 있을때, 상호 호출관계에 대한 질문입니다.
 
instance메소드 내부에서, 동일 클래스의 static메소드를 호출할 수 있을 것이라 생각했습니다.
static 메소드 내부에서, 동일 클래스의 static 메소드를 호출할 수 있듯이요.
 
그런데 에러가 발생하던데, 혹시 왜 그런지 알 수 있을까요?
왜 static메소드 내에서 동일 클래스 내 , 다른 static메소드는 호출가능한데,
instance메소드 내에서 동일클래스 내, 다른 static메소드는 호출이 불가능 한건가요?

답변 1

답변을 작성해보세요.

2

클래스 내부에 static키워드가 붙으면 별도의 메모리공간으로 빠져서 다른 곳에 기억공간이 잡히게 됩니다. 이유는 어떤 클래스가 가지고있는 동작(메서드)을 다른 클래스들이 사용하고 싶을때 언제든지 사용할 수 있도록 미리 정해진 기억공간에 올려두기위해서 static키워드를 붙이는것입니다 그래서 인스턴스 메서드와 스테틱메서드는 만들어지는 메모리위치가 다르기때문에 스테틱 메서드 안에서는 인스턴스메서드를 바로 호출 할 수가 없습니다.^^