
こんな疑問にお答えします。
・オブジェクト指向とは?
・チーム開発のためのオブジェクト指向
エンジニア初心者・未経験者に限らず、Webに携わる人であれば、一度は聞いたことがあるであろう「オブジェクト指向」。
「考え方が観念的でよく分からない!」という人も多いのではないでしょうか。
そこで、今回は日本人が大好きなカレーに例えて、駆け出しエンジニアのまきおくんとベテランエンジニアのテクがオブジェクト指向を分かりやすく解説していきます!
オブジェクト指向とは?

エンジニアの人ってみんな「オブジェクト指向」って言いますけど、なんでみんなオブジェクト指向にこだわっているんですか?
オブジェクト指向の何が良いのかが、いまいち分からなくて…!
しょうたくんも「オブジェクト指向」なんて言葉を知るようになったんやな!
簡単に言うと、オブジェクト指向とは、
- 物事を分かりやすくまとめたり、整理整頓すること(オブジェクト(モノ)としてまとめる)
- チームで開発する時には必須
- みんなが心がけると仕組みを知らなくても機能を利用できるようになる
と言うものや。具体的には継承とか、カプセル化とか・・





オブジェクト指向なカレー作りの手順



- スーパーでカレールウ、やがいも、人参、玉ねぎ、豚肉こま切れを買う。
- やがいもは芽を取ってぶつ切り、人参は皮を向いてぶつ切り、玉ねぎはみじん切りにする。
- 鍋を温め、玉ねぎ、豚肉を炒め、次にやがいも、人参を入れて炒める。
- 水とカレールウを入れて煮込む。
- できあがり!


- スーパーで「カレーに必要なもの」を買う。
- 野菜を「カレーに合わせて」切る。
- 「カレーができるように」炒めたり煮込んだりする。
- できあがり!

カレーを作る手順として何をすれば良いかわからないんですが…



- カレーを作る
- できあがり!



オブジェクト指向とは、カレーの作り方(仕組み)を知らなくとも、
カレーを知っている人に頼む(カレーを作る、というメソッドを呼び出す)ことでカレーは作ることができる。
言い換えれば、複雑な仕組みを隠蔽して効率よく機能を利用できるようにすることなんや。

チーム開発のためにオブジェクト指向が必要
開発の現場におけるオブジェクト指向のメリットも説明するか。
プログラムというものは複雑や。いちいち機能の仕組みを理解しようとすると、開発がいつまでも終わらん。
だから、プログラマーひとりひとりが自分プログラムを他の人が利用できるように、分かりやすくまとめているんや。


何か具体例とか無いでしょうか…!
せやな、例えば、Zipファイル。
本来、zipファイルもファイルを別の文字列で置換えてファイルサイズを小さくする複雑な仕組みがあるんやが、
みんなは「解凍」「圧縮」としてファイルを扱っていると思うんや。
他には、システム開発する時も、
- 注文を管理する機能
- csvファイルをアップロードする機能
みたいに、機能でまとめて振り分けて、お互いが利用できるようにする。
システムが満たす機能を実現させるのは大変や。
チームで開発するために、いちエンジニアとしてオブジェクト指向を学ぶんや。




またわからんことがあったら俺に聞くんやで!
