Rubyを学び始めて丸2日が経過しました。
正直なところ、理解が追いついていないことが多すぎる...
とはいえ、いきなり完全に理解できるものではないので「よう分からんけどこんなもんなんやな...知らんけど」みたいな感じで日々のカリキュラムをこなしています。
#Ruby言語はオブジェクトを中心とした世界
そんなRubyの世界では、すべてのデータはオブジェクトと呼ばれています。
文字を表現するための文字列オブジェクト、数値を表す数値オブジェクトだけでなく、これらのオブジェクトを管理するためのハッシュや、学習途中で私がかなり苦しめられた配列もオブジェクトなのです。
現実世界でたとえると、人間ひとりひとりやビル、車、ペットボトル...
要するに、形あるものすべてはオブジェクトと言えることになります。
ここで登場するのが、本日の本題であるクラスとインスタンス。
この2つはそれぞれ、オブジェクトを定義する型と、オブジェクトの性質を表します。
こうやって書くと違いがわかりにくく混乱するのですが、先輩に教えてくれた"たい焼き"の説明がとてもわかりやすかったので、今日はこちらをご紹介します。
##クラスはたい焼き型、インスタンスは1個のたい焼き
たい焼きの型は、当たり前ですがたい焼きを焼くための道具ですよね。
つまり、たい焼きというオブジェクトを定義し、たい焼きをたい焼きたる形にしているものなんです。
これがRubyで言うところのクラスです。
一方のインスタンスは、クラスと言うなのたい焼き型によって作られた、たい焼きそのものを指します。
ところで、たい焼きっていろんな味がありますよね。
(念の為言っておきますが、お腹が空いてそういう話をしている訳ではありません)
インスタンスには属性値というものがあり、クラスで指定された個々のインスタンスの特徴が現れます。
皆さん、もうお気づきでしょうか。
インスタンスの属性値とは、ずばりたい焼きの味です。
あんこやカスタード、ジャムやお食事系などいろいろありますが、これがインスタンスの属性値なのです!
なんてわかりやすい...!そしてお腹が空いてきました。
プログラミングを学んでいくと難しいことも多いのですが、こうやって面白い考え方ができると楽しいですね。
私も楽しく美味しい(?)説明ができるようになるぐらい精進せねば、、!
...続く。