この記事では、オブジェクト指向のメリットについて考えてみましょう。
まず、そもそもオブジェクト指向とは、「物」に例えてプログラミングを記述する手法です。
このオブジェクト指向と言う言葉は、非常につかみどころがないというか、はじめのうちは何を言っているのかわからないような言葉かもしれませんが、現在のプログラミングには欠かすことができない重要な要素です。
この記事を読みながら、オブジェクト指向のエッセンスについて理解していただければ幸いです。
それではオブジェクト指向のメリットについて見ていきましょう。
プログラムの記述量を減らせる

例えば、ゲームの開発を考えてみましょう。
ゲームにはいろいろなキャラクターが登場します。
例えば格闘ゲームなどであれば、自分の好きなキャラクターを選択して、そのキャラクターを操って戦うような遊び方をします。
そういったゲームには、たくさんのキャラクターがいるのですが、そのキャラクターそれぞれに対して、別々にプログラムを記述していく必要があるのでしょうか。
例えばAボタンが押されたときにジャンプする、とか
Bボタンが押されたときにパンチする、とか
右ボタンが押されたときに右側に進む、とか…
基本的にはどのキャラクターも、操作方法は同じはずです。
どのキャラクターも同じような動きをするのに、それぞれのキャラクターに対して別々にプログラミングをしていくのは、効率が悪い気がします。
そういった場合に活躍するのが、オブジェクト指向です。
オブジェクト指向のプログラミング言語では、この「キャラクター」を「オブジェクト」として扱います。
キャラクター以外にも、あらゆる「物」は、オブジェクトとして扱うことができます。
つまりどういうことかと言うと、1番最初に
「キャラクターとはどういうものか」
というプログラムを書いておくのです。
これを1番最初に書いておけば、それぞれのキャラクターのプログラムを書くときには、そのプログラムを参照すればいいだけです。
何度も同じようなプログラムを書く必要はありません。
もしオブジェクト指向を使わなければ、キャラクターAのジャンプ、キャラクターBのジャンプ、キャラクターCのジャンプ…
キャラクターAの攻撃、キャラクターBの攻撃、キャラクターCの攻撃…
キャラクターAの移動、キャラクターBの移動、キャラクターCの移動…
などなど、キャラクターごとに同じようなプログラムを何度も記述しなければいけません。
もしキャラクターが100人出てくるようなゲームだったら、「やってられるかー!!!」と、なることでしょう。
オブジェクトとして扱うことによって、このこのような冗長なプログラムの記述を防ぐことができるのです。
プログラムをモジュールとしてまとめやすい

このように、プログラムの部品を1つの「物」として扱うことによって、プログラムを部品分けしやすいという利点があります。
大きなシステムになってくると、プログラムはどんどん複雑になっていきます。
何とかしてプログラムを整理しながら開発を進めていかないと、その複雑さは、人間では到底扱えないようなレベルに、あっという間になってしまいます。
では、どのように整理しながらプログラミングを進めていけば良いのかと言うと、1番わかりやすいのは、機能ごとにプログラムを部品として分割することでしょう。
何でもかんでも1カ所にプログラムを記述するのではなく、実現したい機能によって、そのプログラムを記述する場所を分けておくのです。
そうすればどこにどんなプログラムがあるのかを把握しやすくなり、プログラミングの効率が飛躍的に向上します。
そして、現在のプログラミング言語で、このモジュール分けにおいて大きな役割を果たしているのが、オブジェクト指向です。
オブジェクトとはものを表す1つのプログラムの塊ですが、このオブジェクトを作ること自体が、プログラムをモジュール分けすることに、直接的につながります。
先程の「キャラクター」の例であれば、キャラクターに関連するプログラムは、その部品を見れば全てわかるわけです。
キャラクターA、キャラクターB、キャラクターCが、それぞれ別々のプログラムを持っているわけではなく、キャラクターに関わる機能は1カ所にまとめて記述がされているのです。
大きいシステムになればなるほど、このようにプログラムを整理しながら記述していく事は、必須になってきます。
これを可能にしているのが、オブジェクト指向なのです。
オブジェクト指向を理解して、楽しく開発を進めよう!

現在一般的に使われているプログラミング言語は、基本的にほとんどがオブジェクト指向であると考えても問題ないです。
これからプログラムを勉強していく方は、是非この概念を理解して、プログラムを適切に整理しながら開発を進めていってください。
この記事が、プログラミングを学習中の方の助けになれば幸いです。
最後まで読んでくださり、ありがとうございました。
コメント