第10章 オブジェクト指向構文 / 第2回 模擬試験

PHPのカプセル化とゲッター・セッターに関する次の記述のうち、正しいものはどれか。

ゲッター・セッターは、`private`プロパティへの安全なアクセス手段として使われる。 正解
PHPには魔法のメソッド`__get()`, `__set()`は存在しない。
ゲッター・セッターを使うと、必ずプロパティのバリデーションができなくなる。
すべてのプロパティは`public`にすることがベストプラクティスとされる。
解説
ゲッター・セッターメソッドは`private`/`protected`プロパティへのアクセスを制御しつつ、バリデーション等の処理を挟める安全な手段です。PHPには未定義プロパティへのアクセス時に呼ばれる`__get()`/`__set()`マジックメソッドもあります。(参照: 独習PHP 第4版 第10章 オブジェクト指向構文 10.2.2節 アクセサーメソッド p.491〜495)