【めそっど】

メソッド とは?

💡 オブジェクトの「できること(動作)」を定義した関数
📌 このページのポイント
メソッド ― オブジェクトが持つ「動作」 犬オブジェクト プロパティ(属性) 名前: ポチ 年齢: 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」 = 方法・手順
💬 プログラミング文脈では「オブジェクトへの命令を実行する方法(手順)」として定義されたものを指す
← 用語集にもどる