「関数」と「メソッド」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| オブジェクト指向 | 「モノ(どんなやつで、どう動く)」に注目した考え方 |
| オブジェクト | 物 |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| 関数 | 処理のまとまり。何かを入れると何かを計算して何かを返してくれるやつ |
| メソッド | オブジェクト指向における「操作」を定義したもの |
似ているところ
どちらも何かを入れると何かをやって何かを返してくれる「処理のまとまり」です。

違うところ
やってること自体は大差ありません。
用語の意味は大きく違います。
メソッドは「オブジェクトの操作を定義したもの」です。
それに対して関数は「何かを入れると何かをやって何かを返してくれる、処理のまとまり」です。
メソッドと関数は根本的に別の物です。

ただし、です。
実際のプログラムにおいて、オブジェクトの操作を定義したメソッドは「何かを入れると何かをやって何かを返してくれる、処理のまとまり」だったりします。

これが混乱を招く原因のひとつでしょう。
「メソッド」と「関数」は別の意味を持つ用語です。
ただし両方とも「処理のまとまり」です。
実際のプログラムを作るときは違いが分かりにくかったりします。
個人的な使い分け
Javaで出てくる関数は「メソッド」です。
C言語で出てくる関数は「関数」と呼んでいます。
「じゃあ、PHPだったら?」と聞かれそうですね。
オブジェクト指向的なプログラミング言語において、オブジェクトの一部として定義されている関数を「メソッド」と呼んでいます。
それ以外、オブジェクトなんて関係ねーぜーな関数は「関数」呼びです。
備考
よく分からなければ「オブジェクトの中にある関数がメソッド」と考えても かまいません。






