インスタンスメソッド【instance method】メンバメソッド/member method

概要

インスタンスメソッドとはオブジェクト指向プログラミングにおけるメソッドの種類の一つで、クラスから生成された個々のインスタンスに紐づくもの。そのインスタンスが保持するプロパティに直接アクセスして操作できる。単にメソッドと言う場合は、一般的にインスタンスメソッドを指すことが多い。
インスタンスメソッドのイメージ画像

オブジェクト指向言語では、関連するデータの集合と、そのデータを操作する手続きをひとまとまりにした「オブジェクト」を定義する。オブジェクトが保持するデータは「プロパティ」(またはフィールドインスタンス変数)、処理内容を記述した手続きは「メソッド」と呼ぶ。クラスベースの言語では、オブジェクトの雛形となる「クラス」を定義し、プログラム実行時にそこからオブジェクトを生成する。この生成されたオブジェクトが「インスタンス」である。

インスタンスメソッドは、特定のインスタンスを対象として呼び出され、そのインスタンス自身が持つプロパティを読み込んだり書き換えたりする処理を実行する。メソッドの実行時には対象インスタンスへの参照が自動的に渡され、そのインスタンスプロパティメソッドへアクセスできる。Javaの「this」やPythonの「self」などが該当する。

同じクラスから複数のインスタンスが生成された場合、各インスタンスはそれぞれ独立したプロパティを持つ。そのため、同一のインスタンスメソッドを呼び出しても、インスタンスごとに保持する値が異なれば、それぞれ異なる結果を返すことになる。例えば、銀行口座を表すクラスでは、入金や出金の処理をインスタンスメソッドとして実装することで、口座ごとに独立した残高を管理できる。多くの言語では、クラス内で特別な指定をせずに定義したメソッドはインスタンスメソッドとなる。

一方、特定のインスタンスではなくクラスそのものに紐づくメソッドを「クラスメソッド」(静的メソッド)と呼ぶ。クラスメソッドインスタンスを生成せずに呼び出せる反面、特定のインスタンスプロパティに直接アクセスすることはできず、クラス全体で共有するデータや状態に依存しない処理に用いられる。JavaPythonなどのオブジェクト指向言語はインスタンスメソッドとクラスメソッドの両者を備えており、「インスタンスメソッド」という呼称はこうしたクラスメソッドと区別する文脈で用いられることが多い。

(2026.6.16更新)
 

他の辞典等による「インスタンスメソッド」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。