アクセサ 【accessor】 アクセサメソッド / accessor method / アクセスメソッド / access method
概要
アクセサ(accessor)とは、オブジェクト指向プログラミングで、オブジェクト内部のメンバ変数(属性、プロパティ)に外部からアクセスするために用意されたメソッド。メンバ変数をオブジェクト内部に隠蔽し、外部から直接参照させないようにするために用意される。オブジェクト指向においてインスタンス内の変数などは内部の状態を表すものであり、外部から直に参照したり操作したりすべきでないという考え方に基づく。変数などへのアクセスに必ず対応するメソッドを経由することにより、メソッド内で適切にチェックや処理を行って破綻の無いように外部からのアクセスをコントロールできるという利点がある。
一方、Javaのようにpublic宣言が用意されている言語では、特に事情がない限り外部に公開してもよい変数などは直に操作するようにしたほうが記述が完結になり、コード量や処理量も軽量になるため、必ずしもすべてにアクセサを用意する必要はないとする考え方もある。C#やSwiftのように、アクセサを自動生成して変数を直接参照するようなコードを記述すると内部的に自動でアクセサ経由にしてくれる言語もある。
アクセサのうち、メンバ変数の値の取得(読み取り)を行うためのものを「getterメソッド」あるいは「getアクセサ」「リーダー」(reader)などと呼ぶ。慣例としてメソッド名を「get変数名」とすることが多い。ブーリアン型の場合は「is変数名」とすることもある。
一方、メンバ変数に値を代入(書き込み)するためのものを「setterメソッド」あるいは「setアクセサ」「ライター」(writer)などと呼ぶ。慣例としてメソッド名を「set変数名」とし、引数として代入したい値を与える仕様とすることが多い。
(2022.12.22更新)