차이점: 정적 메서드는 "클래스 이름::메서드 이름"을 통해 직접 호출할 수 있지만 일반 메서드는 인스턴스, 즉 새 객체를 만든 후 "객체 이름->메서드 이름"을 통해 호출해야 합니다. 정적 메서드는 클래스의 정적 멤버에만 액세스할 수 있으며 일반 메서드는 클래스의 모든 멤버에 액세스할 수 있습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
정적 방법
정적 메모리 공간이 고정되어 있어 상대적으로 리소스를 더 많이 절약할 수 있습니다.
인스턴스를 생성하려면 리소스를 소비하는 새 메모리를 열어야 합니다. 정적 메서드는 클래스에 속하며 클래스가 인스턴스화되기 전에 사용할 수 있습니다.
정적 메서드는 클래스의 정적 멤버에만 액세스할 수 있습니다.
정적 변수와 기타 정적 메서드만 정적 메서드에 나타날 수 있습니다. 그리고 이와 같은 키워드는 전체 클래스에 속하므로 정적 메서드에서 사용할 수 없습니다. 정적 메서드와 정적 변수는 항상 동일한 메모리를 사용합니다. 인스턴스를 사용하면 여러 개의 추억이 생성됩니다. 일반 메소드
는 클래스의 모든 멤버에 액세스할 수 있습니다. 왜냐하면 정적 메소드는 클래스가 인스턴스화되기 전에 사용될 수 있는 반면, 클래스의 비정적 변수는 메모리가 할당되기 전에 인스턴스화되어야 하기 때문입니다. - 정적 메서드는 인스턴스화보다 더 효율적입니다. 정적 메서드는 자동으로 소멸되지 않지만 인스턴스화는 소멸될 수 있다는 점입니다.
- 주요 차이점
정적 메서드는 객체를 생성하기 전에 사용할 수 있습니다. -정적 메소드는 new에 의해 생성된 객체를 통해 호출되어야 합니다.
- 정적 메서드는 클래스 이름::메서드 이름을 통해 직접 호출할 수 있습니다. 일반 메서드는 인스턴스, 즉 새 개체를 만든 다음 개체 이름->메서드 이름을 통해 호출해야 합니다. 정적 클래스는 정적 멤버만 포함할 수 있습니다. 그렇지 않으면 컴파일 오류가 발생합니다. 정적 클래스는 모두 비정적 멤버와 정적 멤버를 모두 포함할 수 있습니다. 정적 클래스를 인스턴스화할 수 없는 이유는 정적 클래스로 인해 C# 컴파일러가 클래스를 추상 및 봉인으로 동시에 표시하기 때문입니다. , 컴파일러는 인스턴스에 대한 생성자를 생성하지 않으므로 정적 클래스가 인스턴스화되지 않습니다.
- 정적 멤버에 대한 액세스는 클래스를 통해서만 액세스할 수 있습니다. , 정적 멤버가 클래스에 속하기 때문입니다.
- 추천 학습: "
PHP 비디오 튜토리얼
"
위 내용은 PHP 정적 메소드와 일반 메소드의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!