「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

「関数」と「メソッド」の違い

スポンサーリンク

予備知識


用語意味
オブジェクト指向「モノ(どんなやつで、どう動く)」に注目した考え方
オブジェクト

それぞれの用語の意味


用語意味
関数処理のまとまり。何かを入れると何かを計算して何かを返してくれるやつ
メソッドオブジェクト指向における「操作」を定義したもの

似ているところ


どちらも何かを入れると何かをやって何かを返してくれる「処理のまとまり」です。


「関数」と「メソッド」の違い1

違うところ


やってること自体は大差ありません。
用語の意味は大きく違います。

メソッドは「オブジェクトの操作を定義したもの」です。
それに対して関数は「何かを入れると何かをやって何かを返してくれる、処理のまとまり」です。
メソッドと関数は根本的に別の物です。


「関数」と「メソッド」の違い2

ただし、です。

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


「関数」と「メソッド」の違い3

これが混乱を招く原因のひとつでしょう。

「メソッド」と「関数」は別の意味を持つ用語です。
ただし両方とも「処理のまとまり」です。
実際のプログラムを作るときは違いが分かりにくかったりします。


個人的な使い分け


Javaで出てくる関数は「メソッド」です。
C言語で出てくる関数は「関数」と呼んでいます。

「じゃあ、PHPだったら?」と聞かれそうですね。

オブジェクト指向的なプログラミング言語において、オブジェクトの一部として定義されている関数を「メソッド」と呼んでいます。
それ以外、オブジェクトなんて関係ねーぜーな関数は「関数」呼びです。


備考


よく分からなければ「オブジェクトの中にある関数がメソッド」と考えても かまいません。


スポンサーリンク
書籍画像037
書籍画像018


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
つくって、壊して、直して学ぶ Git&GitHub 入門
ソフトウェア開発現場の「失敗」集めてみた。 42の失敗事例で学ぶチーム開発のうまい進めかた