【めそっど】

メソッド とは?

最終更新:
💡 オブジェクトの「できること(動作)」を定義した関数
📌 このページのポイント
メソッド ― オブジェクトが持つ「動作」 犬オブジェクト プロパティ(属性) 名前: ポチ 年齢: 3 メソッド(動作) 吠える() 走る(速度) お手する() 犬.吠える() メソッド呼び出し → 「ワン!」 実行結果 関数との違い 関数: 単独で存在 メソッド: オブジェクトに属する メソッド = オブジェクトに紐づいた関数
メソッドのイメージ
ひよこ ひよこ
メソッドって関数と何が違うの?
ペンギン先生 ペンギン先生
メソッドはクラス・オブジェクトに属している関数のこと。「cat.meow()」のように「オブジェクト.メソッド()」で呼ぶのが基本。独立している関数と違って、そのオブジェクトのデータ(プロパティ)に直接アクセスできる。
ひよこ ひよこ
具体的な例を教えて
ペンギン先生 ペンギン先生
Pythonで「list.append(item)」のappendがメソッド。リスト(list)というオブジェクトに「要素を追加する」という動作が定義されている。「文字列.upper()」でUpperCaseにするのもメソッド。
ひよこ ひよこ
staticメソッドってよく見るけど?
ペンギン先生 ペンギン先生
クラスのインスタンスを作らなくても呼べるメソッド。「Math.sqrt()」のようにオブジェクト固有のデータを使わない処理に使う。実際のオブジェクトの状態(プロパティ)に依存しないユーティリティ的な処理に適している。
ひよこ ひよこ
メソッドチェーンってどういうこと?
ペンギン先生 ペンギン先生
メソッドの戻り値にオブジェクト自身を返すことで、「object.method1().method2().method3()」のように連続で呼べる書き方だよ。jQueryの「$('.item').filter('.active').css('color','red')」やJavaのStringBuilderが代表的な例。コードが読みやすくなるメリットがあるんだ。
ひよこ ひよこ
かっこいい!メソッドの命名規則ってあるの?
ペンギン先生 ペンギン先生
「動詞+名詞」で書くのが基本だよ。getUserName()、calculateTotal()、sendEmail()みたいにね。Javaの標準ライブラリでは「getXxx」「setXxx」「isXxx」というBean規約があって、フレームワークが自動的にプロパティとメソッドを紐づけてくれるんだ。命名が統一されていると、コードを読む人が「このメソッドは何をするか」を名前だけで推測できるようになるよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
メソッドって出てきたら「クラスやオブジェクトに定義された関数、オブジェクトの動作を定義するもの」と思えばOK!
📖 おまけ:英語の意味
「Method」 = 方法・手順
💬 プログラミング文脈では「オブジェクトへの命令を実行する方法(手順)」として定義されたものを指す
← 用語集にもどる