オブジェクト指向とはオブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方のことです。
そして、そのオブジェクト指向の考え方を取り入れた言語をオブジェクト指向型言語と呼びます。
オブジェクト指向型言語としては以下のようなものがあげられます。
Javaはオブジェクト指向型言語の代表格となっています。
オブジェクト指向とは、プログラムを実世界に存在するモノと考え、モノ(プログラム)を作るために部品をどんどん付け足していくというイメージになります。
アクションゲーム制作を例にして考えてみます。
アクションゲームに登場するモノとして、主人公、敵キャラ、ステージなどが上げられます。
まずそれらを、ゲームの基盤となる「メインクラス」、部品となる「主人公クラス」、「敵キャラクラス」、「ステージクラス」とクラス分けします。
「主人公クラス」には主人公が存在する位置や、ライフポイントなどの情報を持たせます。
「敵キャラクラス」にも同じような情報を持たせます。
「ステージクラス」には、そのステージに存在する障害物や敵キャラの発現ポイントなどの情報を持たせます。
基盤である「メインクラス」に部品となる「主人公クラス」「敵キャラクラス」「ステージクラス」を組み立てていくことによりアクションゲームを完成させます。
このような考え方の基でプログラミングしていくことをオブジェクト指向プログラミング(OOP)と言います。
オブジェクト指向について何となくイメージできたでしょうか?
頭の中で考えるだけだとイメージしにくいかもしれません。
まず大雑把にオブジェクト指向とはどのようなものかを頭の中に入れておき、実際にプログラミングをしてみて、理解を深めていくという方法が一番の近道になるのではないかと思います。
プログラミングしていくうちに「あー、そういうことか」と理解していくはずです。