メンバ関数
出典: フリー百科事典『ウィキペディア(Wikipedia)』
メンバ関数(メンバかんすう)とはオブジェクト指向プログラミング言語に出現する関数の一種で、特にあるクラスに所属する関数のことを言う。C++のものが代表例。
「メンバ」関数という限定的な呼び名からも明らかなように、メンバでない関数の存在を言外に示しており、そのためJavaなどそのような関数が存在しない言語ではメソッドという用語を用いることが多い。またObjective-Cのように関数が存在する言語でも、機能を直接指定する関数と動的ディスパッチを行うメソッドの差異から「メンバ関数」という用語が適当でない場合がある。しかしいずれにせよメソッドとメンバ関数の間に概念上明確な差はない。
メンバ関数と通常の関数の違いは主にインスタンス内部へのアクセス権の有無である。この機能は通常カプセル化と呼ばれており、クラス定義の抽象化に貢献するとされる。また呼び出し時に対象となるインスタンス(レシーバ)がselfやthisといった予約語で定義されており、暗黙の引数として利用することが可能である。
またメンバ関数はサブクラス化の際にオーバーライドされる可能性があり(多態性)、実際に発生する動作がレシーバに依存するという特徴を持つ。
カテゴリ: 統合依頼 | コンピュータ関連のスタブ項目 | プログラミング言語の構文 | オブジェクト指向