メソッド 【method】
概要
メソッド(method)とは、方法、方式、手法、やり方、などの意味を持つ英単語。ITの分野では、オブジェクト指向プログラミングにおけるオブジェクトに対する手続きのことや、通信プロトコルにおける要求の種類などのことをメソッドということが多い。一般の外来語としては、一定の形式として確立した奏法、教授法、指導法、その他様々な技法のことを「○○メソッド」のように言う。オブジェクト指向プログラミングのメソッド (メンバ関数)
オブジェクト指向プログラミング(OOP)では、データと手続きを「オブジェクト」(object)として一体化(カプセル化)して定義、利用する。この、オブジェクトに内包された手続き(データに対する処理内容を記述したプログラム)のことをメソッドという。言語によっては「メンバ関数」などということもあるが、ほぼ同じものを指す。
メソッドはそのオブジェクトに対する操作内容の詳細が実装されており、外部からメソッドを呼び出して起動することにより、その内容が実行される。操作の詳細をオブジェクト内部に隠蔽することができ、プログラムの再利用性や生産性を高めやすくなると言われている。
インスタンスメソッドとクラスメソッド
一般的なメソッドは実行時に展開されるクラスのインスタンス(instance)に付属する「インスタンスメソッド」(instance method)で、所属するインスタンスのプロパティに対する操作などを行うことができる。「メンバメソッド」(member method)と呼ばれることもある。
一方、言語によってはクラス自体に付属する「クラスメソッド」(class method)を定義できる場合があり、クラス変数(静的変数/スタティック変数)の操作や参照、あるいは特に内部状態を必要としない基本的・汎用的な機能の提供などのために用いられる。「静的メソッド」(static method/スタティックメソッド)と呼ばれることもある。
メソッドのオーバーライド
一般的なクラスベースの言語ではメソッドはクラスの一部として定義される。あるクラスの内容を引き継いで一部を変更して別のクラス(サブクラス/派生クラス)を定義する際、元のクラスにあるメソッドと同名のメソッドを定義して別の内容に置き換える場合がある。
この操作をメソッドの「オーバーライド」(overriding)と言い、同名のメソッドがクラスによって異なる振る舞いをすることを「多態性」(polymorphism:ポリモーフィズム)という。サブクラスで機能を追加・変更する必要がある場合などに利用する。引数の型や数を派生元クラスのメソッドに揃えなければならないなどの制約を課している言語もある。
HTTPリクエストメソッド
通信プロトコルのHTTPでは、クライアントからサーバへ要求(リクエスト)を行う際、その種類を示すデータのことをメソッドと呼んでいる。主なメソッドとして、資源の送信を要求する「GETメソッド」、資源の受信(クライアント側から送信)を要求する「POSTメソッド」、資源本体ではなく資源についての情報(メタデータ)を要求する「HEADメソッド」などがある。