読者です 読者をやめる 読者になる 読者になる

ぱらすの備忘録

個人的な備忘録なので間違った解釈があれば教えて下さい

メソッドってなんぞ?

Javaでよく使われている、というか主要機能のメソッド

これをちょっと振り返って調べてみた。

クラスが何かわかっている前提で書く。

メソッドと関数の違い

よくメソッドで表現されているのが「振る舞い」とか「動作」とか。

ある値とかを受け取ってきたり何かを返したり。

ちなみにC言語の関数も似たようなことするよね?

ってことでCから習い始めた人に「Cでいう関数みたいなもの」ってとりあえず教えてる。

でも違いについて特に調べることはなかったり。

「何が違うの?」って突っ込まれたことなかったし自分でもあまり深く考えなかった。

というわけで詳しく突っ込んでみる。

メソッドとは?

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

引用元: it-manual.comのウェブサイト「メソッドとは?」

ふむ。

どうやらオブジェクトが大きく関係するらしい。

そんなときにこんな記事を発見。

オブジェクト指向について考えるその1 関数とメソッドの違い

たしかにC言語Javaでコードを並べて見てみるとわかるような気がする。

ただ説明を見てもなんか掴めない。

Cと同じように自身を渡して長さを返せば関数と言えるのでは?

って思ったところでなんとなく理解できた気がする。

Cはクラスの概念がないから、関数というものは独立?しているような解釈。

Javaはクラスのがあって、メソッドというものはクラスの中にあるので

必ずオブジェクトが関わってくる。

Cライクな書き方をしようとしても元の概念が異なるから別物、と。

たしかにmainもjavaはクラスの中にあるものね。

逆も同じような解釈でよさそう。

Cの構造体の中に関数を入れれるかどうかという結果。

………できないよね?

これ、じゃあオブジェクトって何?ってことも掘り下げて考える必要がありそう。

メソッドと関数の違いについてはオブジェクトが関係しているってところかな?

解釈が違っていたら教えてください。

今回後回しにしたのはこちら

・クラスについて

・オブジェクトって何?