【初心者向け】オブジェクト指向とは【プログラミング】

【プログラミング基礎】

■こんなお悩みに

・オブジェクト指向って何?
・なぜオブジェクト指向は難しいのか

結論

  • 作っていくプログラムひとつひとつを「モノ」として考えること
  • それぞれの「モノ」の特徴を考えながら組み立てていくこと
  • オブジェクト指向は上記2つのような考え方、概念
  • 考え方、概念というようにぼんやりしているため理解が難しい

プログラミング初心者の頃ぶち当たったオブジェクト指向とは何か、という壁。
ひたすらオブジェクト指向に関する記事を読み漁りましたが、なるほど!!と理解ができるものはありませんでした。というよりも記事や書籍を読むだけで理解をするなんて無理な話だったのです。

まずは書籍や記事で大枠を知り、開発を通して理解し、そしてまた書籍や記事で理解を深める。
その繰り返しでしかオブジェクト指向を理解することはできません。

本記事がみなさんの理解の0→1になることを祈っています。

作っていくプログラムひとつひとつを「モノ」として考える

オブジェクト指向は全体の設計図をもとに「モノ」たちに「役割」を与えます。
そしてこの「モノ」は「加速できるよー」「減速もできるよー」「ト〇タで作られてるよー」「四角いよー」と特徴や関係を定義していって「車システムを作りましょー」という考え方です。

上記に出てきた「設計図」「モノ」「役割」「加減速できるよー」「四角いよー」は下記のことから可能になっています。

クラス

データ処理をひとまとめにできる機能。「モノ」の設計図のこと。

インスタンス

クラス(設計図)から実体を作り出すこと。

メソッド

「加減速できるよー」「とまるよー」などアクションを起こす処理のこと。
小難しくいうと「モノ」がもっている処理のこと。

プロパティ

「ト〇タで作られてるよー」「四角いよー」など、どんな「モノ」かがわかるデータのこと。

オブジェクト指向3つの要素

前述の名称を踏まえてオブジェクト指向の要素を見ていきましょう。

カプセル化

「モノ」がもってるデータ処理のうち、別の「モノ」から直接使われない不要なものを隠すこと。もし別の「モノ」かもってる処理を使うときは「外部から使いますよー」の処理をきちんと用意すること。

要するに他のプログラムから変更できないようにする仕組みのこと。

継承

ある「モノ」に別の「モノ」を継承すると同じ機能を実装できるのです。
同じような「モノ」をたくさん作るときに、データ処理をいちいちプログラミングするのってすごいめんどくさいですもん。

ポリモーフィズム

継承した処理の一部を変更して使えるようにする仕組みのこと。
この「モノ」の中ではあの「モノY」にある処理をちょっと変えればスムーズかつスマートにいくじゃん、みたいな性質。

まとめ

以上「オブジェクト指向とは」というテーマでしたが、いかがだったでしょうか。

本記事をもう一度まとめると

  • 作っていくプログラムひとつひとつを「モノ」として考えること
  • それぞれの「モノ」の特徴を考えながら組み立てていくこと
  • オブジェクト指向は上記2つのような考え方、概念
  • 考え方、概念というようにぼんやりしているため理解が難しい

となります。

概念だったり考え方みたいなものは実体がつかみにくく理解しにくいものです。
オブジェクト指向のことだけを追求しても役に立つスキルとして習得できるものではないと思っています。開発するにあたって都度意識し理解を深めていくこと、それが習得への一番の道です。一緒にコツコツと知識を積み上げていきましょう。

今回の記事がこれからの知識の積み上げのお役に立てれば幸いです。
では、また次回^^

コメント

タイトルとURLをコピーしました