나는 교과서에서 나에게 주어진 텍스트를 읽고 있었는데 그것이 말하는 것을 정말로 이해하지 못합니다. 기본적으로 정적 메서드 또는 클래스 메서드에 "modifier"키워드 static이 포함되어 있다는 것을 알 수 있습니다. 하지만 그게 무슨 뜻인지 정말 모르겠어요?
누군가 정적 또는 클래스 메서드가 무엇인지 정말 간단한 용어로 설명해 주시겠습니까?
또한 인스턴스 메서드가 무엇인지에 대한 간단한 설명을 얻을 수 있습니까?
이것이 그들이 교과서에서 내게주는 것입니다.
정적 수정 자의 존재 여부에 대한 중요한 실제 의미가 있습니다. 공용 클래스 메소드는 Java가 속해있는 클래스의 정의를 처리하는 즉시 호출되고 실행될 수 있습니다. 인스턴스 메서드의 경우는 그렇지 않습니다. 공용 인스턴스 메서드를 호출하고 실행하려면 먼저 해당 메서드가 속한 클래스의 인스턴스를 만들어야합니다. 공용 클래스 메서드를 사용하려면 클래스 만 있으면됩니다. 반면에 공용 인스턴스 메서드를 사용하려면 먼저 클래스의 인스턴스가 있어야합니다.
다른 메서드의 정의 내에서 정적 메서드가 호출되는 방식은 두 메서드가 동일한 클래스에 속하는지 여부에 따라 다릅니다. 위의 예에서 factorial과 main은 모두 MainClass 클래스의 메서드입니다. 결과적으로 main 정의에서 factorial의 호출은 단순히 메소드 이름 "factorial"을 참조합니다.