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