フレンド関数というものがあります。フレンド関数を定義すると、そのクラスのアクセス指定子に関わらず全てのメンバ(変数・メソッド等)にアクセスできるようになるというものです。
例えれば、セールスマン等の訪問者は家に入れても家の物を触らせたりしませんが、友達はゲームや漫画などいろいろな家のものを触ったりする。
本やWebにもこの類の説明が書かれていますが、どんな時に使うとか有用性があまり書かれていない…。
2つ以上のクラスのprivateメンバにアクセスする時に役立つと一部書いてありましたが、わざわざカプセル化の機能を崩してまでやる事なのか。ゲッターとかメソッドを介して取得するとか他の方法を検討すべきなんじゃないのかとか思いました。いまいちメリットが見出せず。
知り合いのSEに聞いたんですが、まず使わないそうです。
関連する記事はありません。