Javaの学習進める中で、
「難しい」上に避けては通れないと聞いていた「オブジェクト指向」。
その正体は…、ただの考え方でした。
以前から無料でプログラミングを学ぼうとしても、
どうしても無料の学習サイトでは限界がありました。
というよりも、基礎の基礎を終えると有料になったりするので、
完全無料かつ独学っていうのはなかなか難しいものがあると感じていました。
そんな中、動画で学習するのがいい!とか、
本がないとダメだ!とか、
いろんな話を聞きましたが、
先日、SEをしている友人から、
「無料にこだわらず、オンライン学習と本の併用したらいいんじゃないの?」
と言われて初めて、プログラミングの本を買って勉強してみることにしました。
オンライン学習とは別のわかりやすさ
無料で学べるところまで動画で一通り学習してから、
オススメされた入門書を読み、まず初めに、書き方から覚えていきました。
そこから、構文や型、規模が大きくなってきた時にどうするかなど、
比較的「暗記」寄りの勉強が続きます。
おそらくこの辺までは、誰もが割とサクサク進めるんじゃないでしょうか。
ところが、一通り基礎学習が終わると、
例の「オブジェクト指向」という単語が出現しました…(‘A`)
オブジェクト指向の章に入ってからは、
あまりにも理解が追い付きませんでした。
過去に何度もプログラミングを諦めてきた僕ですが、
今度こそはと、SEの友人に近づくべく、何度も何度も繰り返し読み込み、
ようやく僕の中で例えが出せる程度には落とし込むことができました。
まだまだ学習途中ですが、そのオブジェクト指向について、
アウトプットを兼ねて、できるだけ簡単に紹介してみようと思います。
オブジェクト指向とは
本では、今まで学んだJavaとは全く別の概念なんて説明がされていましたが、
実際はそんな小難しい事なんかではありませんでした。
というのも、今までの書き方を大きく変えるわけじゃなくて、
どっちかというと、「オブジェクト指向」というのは、
大規模なプログラムを作るための、「一種のマニュアル」という風に感じました。
簡単に言うと、何かプログラムを作ろうとしたとき、
各クラスに役割を果たしてもらうように作っていく。
例えば、小学校などの給食当番。
- 給食室からカレーを運んでくる役
- 並んでいる生徒にご飯をよそう役
- 並んでいる生徒にカレーをよそう役
- 並んでいる生徒に福神漬けをよそう役
このように、役割ごとにプログラムを分けることで、
どのプログラムが、どういう働きをするのかを明確にすることできます。
要するに、プログラムの作り方として、
役割ごとにプログラムを分けて作るというイメージで良いと思います。
結果的に、それが大規模なプログラムになったとしても、
役割ごとで分けられているため、人間が把握しやすい設計になっていて、
問題が起きづらいということ繋がっていくようです。
これらを簡単にまとめると
[box class=”box26″ title=”要点まとめ”]
- オブジェクト指向とはルールである。
- プログラムを役割で分けることで、わかりやすく、効率的になる。
[/box]
まとめ
オブジェクト指向と聞くと、尻込みしてしまう気持ちもわかりますが、
難しく考えず、そういうルールなんだなとゆるい感じで受け取れば、
学習を進めていくうちに、徐々に自分の中に落とし込めるはずです。
オブジェクト指向はそのほかにもいろんな要素がありますが、
入りとしては、この程度でいいのではないでしょうか。
正直な話、構文や型よりも先にオブジェクト指向を学んだほうが良かったかも、とすら思っています。
最後までお読みいただきありがとうございました。
少しでも参考になれば幸いです。