>  기사  >  백엔드 개발  >  PHP 정적 메소드는 무엇을 의미합니까?

PHP 정적 메소드는 무엇을 의미합니까?

青灯夜游
青灯夜游원래의
2020-07-22 13:44:122444검색

PHP에서 정적 메서드는 "정적 메서드"를 참조하고 static 키워드로 수정된 멤버 메서드는 정적 속성이라고 하며 정적 메서드는 이 클래스의 일반 속성에 액세스할 수 없습니다. 정적 속성에 액세스할 수 있습니다.

PHP 정적 메소드는 무엇을 의미합니까?

PHP 정적: 정적 메서드 및 속성

PHP에서는 static 키워드로 수정된 멤버 속성과 멤버 메서드를 정적 속성, 여기서는 정적 메서드라고 통칭할 수 있습니다. 클래스의 정적 멤버는 클래스의 일반 멤버와 다릅니다. 정적 멤버는 개체로 인스턴스화되지 않습니다. 즉, 클래스를 통해 정적 멤버에 액세스하기 위해 클래스를 인스턴스화할 필요가 없습니다.

[관련 튜토리얼 추천: "PHP 튜토리얼"]

클래스에서 정적 변수를 선언하는 것은 쉽습니다. 클래스의 일반 멤버 앞에 static 키워드를 추가하여 이 일반 멤버를 정적 멤버로 바꿀 수 있습니다. . 이런 방식으로 클래스를 인스턴스화하지 않고도 클래스의 정적 멤버에 직접 액세스할 수 있습니다. 정적 멤버에 액세스하기 위한 구문 형식은 다음과 같습니다.

类名::$静态属性
类名::静态方法()

여기서 :: 기호는 범위 확인 연산자라고 하며 정적 멤버, 정적 메서드 및 상수에 액세스하는 데 사용되며 멤버 및 메서드를 재정의하는 데에도 사용할 수 있습니다. 수업.

클래스 내부 멤버 메서드의 정적 속성에 액세스하려면 정적 속성 이름 앞에 self:: 연산자를 추가하면 됩니다.

정적 메서드

(1) 정적 메서드는 이 클래스의 일반 속성에 액세스할 수 없습니다. 해당 속성은 객체에 속하지만 정적 속성은 액세스할 수 있습니다.

(2) 현재 클래스에서(하위 클래스 아님) 정적 메서드나 속성에 액세스하려면 $this가 현재 개체를 가리키는 것처럼 self 키워드를 사용할 수 있습니다. (3) 정적 메서드와 속성도 호출할 수 없습니다. 클래스 메소드와 클래스 속성을 호출하므로 의사 변수 $this를 객체에서 사용할 수 없습니다.

정적 메서드의 장점:

(1) 코드의 어느 곳에서나 사용할 수 있습니다(클래스에 액세스할 수 있다고 가정).

(2) 클래스의 모든 인스턴스는 클래스에 정의된 정적 속성에 액세스할 수 있습니다. 정적 속성은 클래스의 모든 개체에서 사용할 수 있는 값을 설정하는 데 사용할 수 있습니다.

(3) 정적 속성 또는 메서드는 인스턴스 개체 없이 액세스할 수 있습니다.

PHP 정적 메서드의 장점과 단점

1. 정적 메서드는 클래스의 멤버 메서드이며 개체를 만들지 않고도 직접 호출할 수 있습니다.

2. 인스턴스보다 효율적 정적 메서드의 단점은 자동으로 소멸되지 않는 반면 인스턴스화된 메서드는 소멸될 수 있다는 것입니다.

3. 정적 메서드와 정적 변수는 생성 후 항상 동일한 메모리를 사용하는 반면, 인스턴스를 사용하면 여러 메모리가 생성됩니다.

4. C++에서는 클래스 메서드 앞에 static 키워드가 추가되면 해당 메서드를 정적 메서드라고 하고, 그렇지 않으면 인스턴스 메서드라고 합니다. 정적 메서드는 클래스가 소유하며 개체나 클래스를 통해 사용할 수 있습니다. 그러나 일반적으로 클래스 이름을 통해 사용하는 것이 좋습니다. 클래스가 정의되어 있으면 정적 메서드를 사용할 수 있고 클래스의 인스턴스를 만들 필요가 없기 때문입니다. 정적 메서드는 클래스의 정적 멤버만 사용할 수 있습니다.

추천 학습:
초보부터 마스터까지 PHP 프로그래밍

위 내용은 PHP 정적 메소드는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.