https://www.php.net/manual/ja/language.oop5.visibility.php
アクセス権には public
、 protected
、 private
の3種類があります。
publicはどこからでもアクセスが可能です。
protectedは、定義したクラス、または継承先クラスからのみ、アクセスが可能です。
privateはは、定義したクラスからのみ、アクセスが可能です。
protected と privateの制限は「インスタンス(オブジェクト)」ではなく「クラス」である点に注意しましょう。
別インスタンスであっても、同一クラスであればアクセスが可能になります。
プロパティでアクセス権が書かれない場合、そのプロパティは public として定義されます。
メソッドでアクセス権が書かれない場合、そのメソッドは public として定義されます。
定数でアクセス権が書かれない場合、その定数は public として定義されます。
このコラムに関連するコードはこちらになります
https://github.com/php-engineer-examination/php8_column_expert/blob/main/src/021.php