堅牢性を獲得する章
2.4. クラスの可視性
『目的』
クラスの可視性をきちんを見極めましょう。
『Before』
トップレベルのクラスにはpublicとpackage-privateの2つの可視性が設定できます。
これはpublicクラスです。
public class Hoge {
    :
}
publicとする必要があるのかいま一度考えてみましょう。
必要もないのに公開していたら、意図せずに外部から使われてしまうかもしれません。
そうなると、利用側の影響を無視することができなくなってしまいますね。
そうすると、publicにしたクラスは一生サポートし続けなければなりません。
『After』
他のパッケージから利用されることがないのであればpackage-privateクラスにしましょう。
class Hoge {
    :
}
パッケージに閉じた実装となり、外部からの利用による影響を気にする必要がなくなります。
気にせず修正・置き換え・削除ができるわけです。
さらに、package-privateとしたクラスが一つのクラスからしか利用されないのであれば、 そのクラスの、 privateな、ネストしたクラスにすることも検討できるでしょう。
class Hoge {
    :
    /* Hoge でしか使わないクラス */
    private class Foo {
        :
    }    
}
『まとめ』
クラスを不必要に外部に公開してしまうと面倒なことになりかねません。
なるべく閉じこめるように心がけましょう。
- 
	  
 IS 559680 / ISO27001
 認証範囲 本社情報セキュリティ基本方針 
- 
	  個人情報保護方針 
 個人情報の取扱いについて
 保有個人データ又は
 第三者提供記録に関する
 事項の周知について
 特定個人情報の取扱いについて
- 
	  
 FS 671851 / ISO9001
 認証範囲 本社品質方針 







