メンバ関数 【member function】
概要
メンバ関数(member function)とは、オブジェクト指向プログラミング(OOP)で、オブジェクトに所属する関数のこと。言語によっては「メソッド」(method)など他の名称で呼ばれることもある。オブジェクト指向では互いに関連する属性(データ)と操作(手続き)を「オブジェクト」(object)として一体化して取り扱う。このうち、オブジェクトに対する操作を関数の形で記述した手続きをメンバ関数という。外部から引数を受け取って処理を行い、返り値を渡す。
メンバ関数のうち、個々のインスタンスに所属するものを「非静的メンバ関数」(non-static member function)あるいは「インスタンスメソッド」(instance method)、クラス自体に所属するものを「クラス関数」(class function)あるいは「静的メンバ関数」(static member function)「クラスメソッド」(class method)などという。
非静的メンバ関数は実行時に生成される個々のインスタンスの状態操作などのために用いられるもので、主にインスタンス変数を読み書きして処理を行う。「非静的」は静的メンバ関数と区別する文脈で用いられる修飾で、単にメンバ関数と言えば通常はこれを指す。
一方、クラス関数はクラス自体に付属する関数で、そのクラスのインスタンスを生成しなくてもいつでも直接呼び出すことができる。クラスに属するクラス変数の参照や操作、様々なプログラムから共通して利用される基本的あるいは汎用的な機能(数学関数など)の提供に用いられることが多い。
(2022.7.14更新)