紙コップ

アクセス修飾子

2009-02-05 14:59:20

アクセス修飾子の付与できるものと、そうでないものがある、ということは『Javaの修飾子』でお話しましたが、ちょっと補足します。



アクセス修飾子によって、付与されるアクセス権は変わります。publicは「すべてのクラスからアクセス可」、protectedは「同じパッケージとサブクラスからのみアクセス可」、privateは「同じクラスからのみアクセス可」となりますが、もうひとつ「同じパッケージからのみアクセス可」というアクセス権があります。



これは、アクセス修飾子を付けないと自動的に付与される権限で、デフォルト権限、デフォルトアクセスとも言われます。



アクセス権による制限の強さの順番は下記のようになります。





制限が強い

↑ private     同じクラスからのみアクセス可

| protected    同じパッケージとサブクラスからのみアクセス可

| 修飾子なし   同じパッケージからのみアクセス可

↓ public     すべてのクラスからアクセス可

制限が弱い





アクセス権を適切に付与することによって、プログラマの意図しないフィールドの変更や、メソッドの操作を防ぐことができます。



また、アクセス権のルールとして以下のようなものもあります。



・メソッドのオーバーライドでは、サブクラスのメソッドのアクセス権はスーパークラスのものと同じか、弱いものでなければならない。

・インターフェースのメソッドは、publicが付いていなくてもpublicとなる。



この記事が、参考になった、面白かったという方はクリックをお願いいたします!

※このエントリは ブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet Japan編集部の見解・意向を示すものではありません。
  • 新着記事
  • 特集
  • ブログ