Google検索エンジン

トップページ » Javaメソッド入門 » メソッドとは?


プログラミング言語における「メソッド(メンバ関数)」とは?

  • メソッドとは?

    メソッドとは、オブジェクト指向プログラミング言語において、あるクラス、オブジェクトに所属するグループ(サブルーチン)を指します。 プログラム中は、意味や内容がまとまっている処理や、繰り返し現れる処理を、ひとつのグループとしてまとめます。 その”グループ”が、メソッドと呼ばれています。 「メソッド、メンバ関数、サブルーチン」この3つの言葉の意味は、ほぼ同一と考えて問題ないでしょう。


    メソッドを利用するメリット

    メソッドを有効に活用できると、プログラミングの幅が大いに広がります。 何度も同じコードを記述する必要がなくなり、生産性の向上が見込めます。 繰り返し現れる処理を1つのグループにまとめることは、プログラムの可読性や保守性を高く保つことにつながります。 また、頻繁に呼び出されるメソッドがキャッシュに格納されることで、高速な動作を期待できます。

    Javaのみではなく、ほとんどのプログラム言語においてメソッド(メンバ関数)の利用は、必須と言ってもよいと思います。 それほど、メソッドを利用するメリットがあり、使用頻度が高いということです。

    ただし、複数のクラスで構成されたプログラムでないと、先に述べたようなメリットは、あまり期待できないでしょう。 複数のクラス間でメソッドを利用する方法は、Java複数クラス入門を参照してください。 単一クラスでの利用が理解できれば、複数のクラス間での利用も同じですので、それほど難しくないと思います。


    メソッドと関数の違い

    メソッドと通常の関数の違いは主にインスタンス内部へのアクセスの有無である。 この機能は通常カプセル化と呼ばれており、クラス定義の抽象化に貢献するとされる。 また呼び出し時に操作の対象となるインスタンス(レシーバ) を self や this といった予約語、あるいはメソッドに渡された引数によって参照することができる。 C++ ではクラスに属さない関数であるグローバル関数と対比されることがある。 また、メンバ関数はサブクラス化の際にオーバーライドされる可能性があり (多態性)、実際に発生する動作がレシーバに依存するという特徴を持つ。

    ※上記は、ウィキペディアのメソッド (計算機科学)より引用

    上記のウィキペディアからの引用文で、メソッドと通常の関数の違いを理解できる人は初心者ではないでしょう。 システム開発現場でも「メソッド、メンバ関数、サブルーチン」この3つの言葉を、同じように使っていても通用します。 どのように呼んでいても恥をかくことはありません。 要は、呼び方が異なるだけです。 本ウェブサイトでも、関数とメソッドは同じものとして扱います。