Rubyのオブジェクト指向とは?あなたのための1ページ
Rubyを始めるために入門書を買った初心者の方、
Rubyに関して勉強はして少し経つけど未だにググりまくってる方、
「わからないこと多くありませんか?」
Rubyや他のプログラミングを勉強していると
必ずと言っていいほど
何回も目にする単語
それは”オブジェクト指向”
「オブジェクト指向?」
「やっとRubyの事がわかってきたのに何なんだよチクショー!」
神「悩み事や壁にぶち当たるのは、あなたが真っ直ぐ進んでいる証拠なのです。」
と言うわけで
今回は”Rubyのオブジェクト指向”に関して書いていきます。
もくじ
語源からイメージする”オブジェクト指向”
「何だかプログラミング用語って専門書見てもネットで調べてもわかりずらい、、」
その通りです。
ネットには、あくまで情報しか載ってないので
理解できなくて当然です。
経験あっての知識です。経験なしに理解できる事なんて少なくて当たり前でしょう。
しかし、この記事を読み飛ばしては非常にもったいない。
なぜなら、かなりわかりやすく
オブジェクト指向の意味について書いているからです(おれが笑)
そこで
急に専門用語並べてもチンプンカンプンだと思うので
語源からイメージを膨らませていきましょう!
オブジェクトってどういう意味?
まず
”オブジェクト指向”のオブジェクトの部分。
これは英語に由来してますので
“object”の意味を調べてみると
”モノ”とか”物体”って出てきますね。
そのままです笑
指向(しこう)って、どういう意味?
次に”指向”と書いて”しこう”です。
思考回路の”思考”ではありませんよ。
”指向”と調べると
ある方向・目的に向かう。 方向や目的を指示してその方に向かわせること。
と出てきますね。
つまり”オブジェクト指向”とは何か
つまり、
”オブジェクト指向”とは
モノや物体を、ある方向に向かわせる。と言う意味になります。
「なるほど!簡単じゃねぇか!」
しかし、まだ論理的なイメージだけですので
さらに、読んでいきましょう!
オブジェクトと一緒に知っておきたい”クラス”
ここでオブジェクト指向とは何か
具体例の説明をしたいところですがワンクッションを置きます。
オブジェクトと一緒に知っておいて損はない
プログラミング用語に”クラス”という言葉があります。
今、あなたがイメージしたのは
おそらく、小学校のクラス分けではないでしょうか?
そのイメージでピッタリです。
小学校では多くの生徒を一つの教室に入れるには窮屈すぎるので
いくつかのクラスに分けて学校生活しておりましたね。
「たかし君は1組だね」
「あかねちゃんは、2組だね」
それと同じように
プログラミングの世界でも
オブジェクト(モノ)をクラス名で呼ぶ、分ける、ような事があります。
クラスとは設計図のようなものと表現しているサイトは多いのですが
わたくし、個人的にはクラス分けの”クラス”がしっくりきます。
オブジェクトが、どんな分類なのか?を表したのかが
クラスになります。
オブジェクトと一緒に知っておいて欲しいクラスの説明をしました。
「何となくだけどイメージがついた!」
それくらいで問題ないです。
具体例で理解するRubyのオブジェクトとクラス
さてさて終盤です。
Rubyのオブジェクトは以下のように何種類かあります。
具体例
「整数オブジェクト」
1 10 36
「少数オブジェクト」
2.3 7.4 3.75
「文字列オブジェクト」
コーヒー ジュース
というように
オブジェクトには種類があります。
情報の種類ですね。
それぞれ、違った種類の情報の集まりですね。
そして、
それぞれのオブジェクトは
クラス分けをすることができます。
具体例
整数オブジェクト=Integerオブジェクト
少数オブジェクト=Floatオブジェクト
文字列オブジェクト=Stringオブジェクト
IntegerオブジェクトのIntegerがクラスの名前です。
オブジェクトに呼び名が付けられているんですね!
オブジェクトがどんな情報(データ)なのか?
それによって種類分けされております。
結論、オブジェクト指向とはどんな概念か?
「何となくは理解できた。本当に何となく」
ここまで、よくついて来てくれました。
プログラミング経験が長い人でも
完璧に用語の意味を理解したり説明するのは
難しかったりするので
少しでも理解につながれば一歩前進ってところでしょう。
最後に、おさらいしていきます。
「Q.オブジェクトとは何ですか?」
「A.オブジェクトとは、モノの事です。データのコトです。」
そのオブジェクトが情報となり
画面に表示されたり、計算に使われたりします。
オブジェクトは、そのための素材です。
ズバリ、
オブジェクト指向とは
「オブジェクトを表示させたり、計算に使ったり、データを操作する
そのアクションのこと」を指します。
「そういう意味なんだね!」
「少しモヤモヤがスッキリできたかな!」
何となくイメージが掴めれば十分です。
Rubyの学習も手を動かすことから始まります。
言葉でつまづいても意味に囚われずに進んでしまうのも前進の一つです。
わたくしが書いてる記事があなたのRubyライフに少しでも
いい影響を与えられることを願っております!
では、皆さん、寒さに気をつけて過ごしましょう!では!
まとめ
・オブジェクトは動かせるモノであり情報である。
・オブジェクトには種類がある。
・オブジェクトはクラスに分けられる。
・クラスがある事で、情報の種類がわかりやすくなる。
・オブジェクト指向とは「モノ(データ)を操作する事である。」