ume

なぜオブジェクト指向が重要なのか?

筆者について

実務未経験のwebエンジニア志望の学習歴1年6ヶ月のものです。

この記事について

Rubyを学習していると[オブジェクト指向][オブジェクト指向]と耳にタコができるくらい聞くので改めてなぜオブジェクト指向が必要かをまとめたいと思います。

そもそもオブジェクト指向とはなんぞや?

⇨プログラムの開発手法の一種,大規模なプログラムの開発を効率化し、さらに保守を容易にするという目的のために使われる開発手法です.
私は↑を聞いても頭の中に??????????????が浮かびましたw.
*要はクラスごとに処理をテンプレート化(使いまわす)する
⚠️人によってオブジェクト指向の解釈が違うようです。

プログラムの開発を効率化とは?

⇨変数と関数の処理のテンプレートを作成し必要な時に使いまわす。同じ処理を簡単に追加できる.

例給料計算するアプリを例に挙げます(あくまでイメージの話です).
黒の四角=1つのアプリ.
黄色の四角=処理.
1つのアプリの中に複数の同じ処理が存在するということを表現しています.
高橋さん、佐藤さん、後藤さんの給料は同じとする.
このように人の名前は違うけど処理の内容は同じ物を複数1つのアプリにあると「新しい人が増えるたびにまた1から処理を作成する必要がある」←非効率 日常生活で置き換えると、ご飯を炊くたびに新しい炊飯器を家電量販店に買いに行き使用しているイメージ(買いに行くのめんどくさいですよね? )

↓ここで「給料計算というクラス(テンプレート)を作成しその中に処理をまとめる」. こうすると「変数、関数、変数、関数」の処理の塊を給料クラスという1行で何回も呼び出す(使いまわす)ことができる。←新しい人が増えても1行追加するだけなので効率が良い 今日も明日も明後日もお米を炊く際、お米は毎回新しくなるけど炊飯器は使いまわしますよね?

保守を容易にする?

⇨後から簡単に機能の変更をできるようにする. 基本的にアプリを作成して完成ではなく、後から機能を変更したり 、機能を追加したりしますよね? 給料計算の例で言うと. 例えば変数(基本給)を18万から20万に上げようと社長が公言しプログラムを変更するとします.
テンプレート化してない場合.
三ヶ所(高橋さん、佐藤さん、後藤さん)の変数(基本給)を変更する必要がある.⇨タイプミスするかもしれない テンプレート化されていると↓

給料クラス(テンプレート)の変数(基本給)を1ヶ所変更するだけで全てのテンプレートに反映されるので、変更箇所が1ヶ所ですむ

まとめ

  • オブジェクト指向とはクラスというテンプレートに処理をまとめる.

  • 開発効率と保守性が上がり、開発コストと保守にかかるコストを最小限にできる