모든 PHP 개발자는 객체 지향을 사용하여 웹 애플리케이션을 구축할 때 6가지 키워드를 마스터해야 합니다.
1.비공개
2.공개
3.보호됨
4.정적
5.최종
6.추상
처음 세 개의 키워드에 대한 클래스 내 액세스 관계는 다음과 같습니다.
Protected
Protected의 액세스 수준은 Private에 이어 두 번째입니다. Protected로 정의된 속성(변수) 또는 메서드는 이 클래스뿐만 아니라 이 클래스의 하위 클래스에서도 액세스할 수 있습니다. . 클래스에서도 액세스할 수 있지만 Private 속성으로는 불가능합니다.
Public
Public은 가장 큰 접근 권한을 가집니다. Public으로 정의된 속성(변수)이나 메서드는 프로그램 내 어디에서나 언제든지 접근할 수 있습니다.
정적
클래스에서 속성(변수)을 정적으로 선언하면 해당 속성의 값은 해당 개체의 모든 개체에 표시되며 공유 변수입니다. 따라서 정적 속성 값은 객체가 아닌 클래스에 따라 달라집니다. 정적 속성은 객체를 통해 액세스할 수 없지만 클래스 이름과 :: 기호를 사용하여 직접 액세스할 수 있습니다.
마찬가지로 정적 메소드에도 객체 공유 특성이 있는데, 다음 두 가지 점에 주의해야 합니다.
1. 클래스 이름에 ::를 추가하여 직접 정적 메서드에 액세스합니다
2. $this 키워드는 정적 메서드에서 사용할 수 없습니다
Final
Final에서 속성(변수)을 수정한 경우 속성(변수) 값을 변경할 수 없습니다. 함수인 경우 해당 함수를 덮어쓰거나 변경할 수 없습니다. 다시 작성되었습니다.
Abstract
Abstract로 정의된 클래스는 인스턴스화할 수 없습니다. 모든 클래스에서 최소한 하나의 메소드가 Abstract로 선언된 경우 이 클래스는 Abstract로 선언되어야 합니다. Abstract로 정의된 메서드는 호출 메서드(매개변수)만 선언하고 특정 함수 구현을 정의할 수는 없습니다.