アクセス修飾子 【access modifier】 アクセス指定子
概要
アクセス修飾子(access modifier)とは、オブジェクト指向プログラミング言語で、クラスのメンバーがどこからアクセス可能かを指定するキーワード。メンバーの宣言時に型名などと共に記述する。オブジェクト指向プログラミングでは、互いに関連するデータ群(プロパティ)と、データを操作する手続き(メソッド)を一体化した「オブジェクト」という単位の組み合わせによりプログラムを構成していく。コード上ではオブジェクトの雛形であるクラスを定義し、実行時にインスタンスとして実体化させて処理を行う。
個々のプロパティやメソッドをどの範囲まで公開し、アクセスできるようにするかを指定するのがアクセス修飾子で、C++言語やJava、C#などのクラスベースのオブジェクト指向言語で利用できる。言語により詳細は異なるが、「privave」「public」「protected」の3つが用意されていることが多い。Javaではこれに加えて「指定なし」も特定のアクセス範囲を規定する。
「private」は同じクラス内からしかアクセスを許可しない。インスタンス内でしか参照する必要がない内部状態を表すプロパティなどに指定する。「public」はどこからでもアクセス可能で、外部からの操作を受け付けるメソッドなどに指定する。
「protected」はクラス内とサブクラス(派生クラス)内からアクセスを許可する。子孫クラス群に共通するプロパティやメソッドを親クラス(スーパークラス)内で定義する際などに用いられる。Javaではアクセス修飾子を省略するとクラス内と同じパッケージの他のクラスからアクセス可能となる。
(2024.3.20更新)