LoginSignup
2
2

More than 3 years have passed since last update.

Ruby初心者の「結局インスタンスメソッドって何ですか?」にエンジニア歴30年のベテランさん超絶わかりやすいアンサー!!!

Last updated at Posted at 2020-02-14

結論

インスタンスメソッドとは:インスタンスが(に)使えるメソッド(にくっつくメソッド)

助詞に関しては、インスタンスを主語として考えるか目的語として考えるかの違いです。図で表すとこんな感じスクリーンショット 2020-02-14 8.38.18.png

インスタンスはいわゆる勇者。その勇者の剣がメソッド。つまり「勇者の剣」=インスタンスメソッドなわけだ!

*ただ剣はモノなので例として完璧ではない。ピカチュウがクラスで、サトシのピカチュウがインスタンスで、十万ボルトがインスタンスメソッドという例の方が正しいかもです。

僕の誤解を招いた表現その1

インスタンスメソッドとはインスタンスを含む変数である。*間違い

僕の誤解を招いた表現その2

インスタンス変数にくっつくメソッドである *惜しい、変数ではなくインスタンス自身にくっつくのがインスタンスメソッド

そもそもインスタンスって?

インスタンス化

クラス(クラスがわからない人は下に説明あります!)はnewすると初期化(インスタンスを作成する方法は他にもあるが基本はnew)し、実体化することができます。実体化したものをインスタンスと呼びます。

インスタンス変数

インスタンスは自身の中に複数の値を所有することができます。Rubyでは @ で始まる名前がインスタンスが所有する変数、インスタンス変数です。インスタンスが持つというニュアンスが大切。インスタンスを指し示す変数ではないですよ!
スクリーンショット 2020-02-16 11.48.34.png

そもそもクラスってなんぞや?

1と2どちらも同義ですが、自分にわかりやすい方で構いません!

1. 新しい型を作る方法(型ってのは設計図みたいなものですね。)

2. データと処理のまとまりを部品としてわかりやすく定義する方法

2
2
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2