プログラミングの勉強をしていると、「オブジェクト指向」という言葉がたびたび出てくると思います。
「オブジェクト指向」は物などではなく、概念や考え方になるのですが、よくわかっていない方も多いでしょう。
そこで今回は「オブジェクト指向」についてわかりやすく解説します。
目次
オブジェクト指向とは
オブジェクト指向を一言でいうと、
「モノを組み立てるように表現して、コンピュータに動作をさせる」
ことです。
意味がわからないと思います。
それではわかりやすく解説していきます。
オブジェクト指向のイメージ
オブジェクト指向の概念を知ってもらう為に、わかりやすく車に例えてイメージしてみましょう。
私たちは車を操作する時、内部でどういうプログラムが動いているか考える必要はありません。
通常車を加速させるとき、アクセルを踏みます。
これを知っていれば「車を加速させる」という操作はできますよね
実際はアクセルを踏むと、内部で複雑なプログラムを動かして車を加速させるのですが、
理解して動かしている方はほとんどいないでしょう。
このアクセルをモノと例えることがオブジェクト指向です。
アクセルというモノを利用するだけで、内部の複雑なプログラムを書く必要はなくなります。
オブジェクト指向のメリット
オブジェクト指向プログラミングでは様々なメリットがあります。
今回も車を例にしてみてみましょう。
大人数での開発に便利
車を加速させるには内部で複雑なプログラムが動いているのは先ほど説明しました。
しかし、大人数で開発を行うプログラムの場合、プロジェクトメンバー全員が加速のプログラムを理解しなければいけません。
特に複雑であるほど難しく、最悪プログラムを壊してしまう可能性もあります。
これをオブジェクト指向の考え方でプログラミングすると、「車の加速=アクセルを踏む」と言うモノにし、
加速を行いたいのならアクセルを踏むようにメンバー全員に伝えます。
すると非常に簡単に開発を進めることができるのです。
勿論、加速する為の複雑なプログラミングは誰かが作らなくてはいけません。
しかし、一度作ってしまえば使いまわせるため非常に便利です。
仕様変更しやすい
仕様変更とはシステムやアプリケーションの機能を変更することです。
プログラマーとして開発すると、ユーザ(顧客)によって突然仕様変更を依頼されることがよくあります。
そんな時にオブジェクト指向でプログラミングしていると便利です。
オブジェクト指向で開発した車はアクセルを踏むと加速します。
しかしユーザから「アクセルを踏むと減速するようにしてほしい」と仕様変更が合ったとしましょう。
そんな時、今まで「アクセルを踏む=車の加速」でしたが「アクセルを踏む=車の減速」と書きなおします。
当然ですがアクセルを踏むと減速が行われるようになります。
「アクセルを踏むと車を加速させる」という行為がプログラムの中で一か所だけしか使っていなかったら、仕様変更時の利便性はないのですが、もしプログラム中に複数出てきたらどうでしょう。
通常は全ての「車の加速」プログラムを「車の減速」プログラムに書き換えなければいけません。
しかし、オブジェクト指向では「アクセルを踏む」としかプログラム中に記載されておらず、後は勝手に加速を行ってくれました。
その為、「アクセルを踏む」というモノの中身を減速にすることで、プログラムの修正を一か所だけに抑えることができます。
代表的なオブジェクト指向のプログラミング言語
・Java
・JavaScript
・Ruby
・Python
・C++
・C#
・JRuby
・Visual Basic . NET
上記のプログラミング言語がオブジェクト指向として代表的なものになります。
最後に
いかがだったでしょうか。
オブジェクト指向はこれからプログラマーになりたい方・なる方にとって必要な知識です。
その為、必要な知識はしっかり学んでいきましょう。
またオブジェクト指向がしっかりと学べるIT企業に勤めることも大事です。
今いる会社が学べる会社ではない場合、転職を考えるべきかもしれません。
そんな時は悩まずに転職エージェントなどに相談してみるのも手ですよ。