Java는 C++와 동일합니다. 클래스 메서드 앞에 static 키워드가 추가되면 해당 메서드를 정적 메서드라고 하고, 그렇지 않으면 인스턴스 메서드라고 합니다.
정적 메서드는 클래스가 소유하며 개체나 클래스를 통해 사용할 수 있습니다.
하지만 일반적으로 클래스 이름을 통해 사용하는 것이 좋습니다. 클래스가 정의되어 있으면 정적 메서드를 사용할 수 있고 클래스의 인스턴스를 만들 필요가 없기 때문입니다.
정적 메서드와 인스턴스 메서드의 차이점은 주로 두 가지 측면에서 나타납니다.
1. 정적 메서드를 외부에서 호출할 때는 "클래스 이름.메서드 이름" 메서드를 사용하거나 " 객체 이름.메서드 이름". 인스턴스 메소드에는 후자의 메소드만 있습니다. 즉, 정적 메서드 호출에는 객체 생성이 필요하지 않습니다.
2. 정적 메서드가 이 클래스의 멤버에 액세스하는 경우 정적 멤버(예: 정적 멤버 변수 및 정적 메서드)에만 액세스할 수 있지만 인스턴스 멤버 변수에는 액세스할 수 없으며 인스턴스 메서드는 액세스할 수 없습니다. 이런 제한이 있습니다.
정적 메서드는 정적 멤버에만 액세스할 수 있고, 인스턴스 메서드는 정적 멤버와 인스턴스 멤버 모두에 액세스할 수 있습니다.
정적 메서드가 인스턴스 멤버 변수에 접근할 수 없는 이유는 인스턴스 멤버 변수가 특정 개체에 속해 있고, 정적 메서드가 실행될 때 해당 개체가 반드시 존재하지 않기 때문입니다. 마찬가지로 인스턴스 메서드는 인스턴스 멤버 변수에 접근할 수 있기 때문에 정적 메서드가 인스턴스 메서드 호출을 허용하면 간접적으로 인스턴스 멤버 변수를 사용할 수 있게 되어 인스턴스 메서드를 호출할 수 없게 됩니다.같은 이유로 정적 메서드에서는 this 키워드를 사용할 수 없습니다.
위 내용은 정적 메소드 Java 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!