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

オブジェクト指向とは何なのか?について解説していきます。オブジェクト指向とは考え方や概念と表現され、この記事を読んでもオブジェクト指向のはっきりとした答えがわかるわけではありませんが、何となくでもどんなものかのイメージがつけば幸いです!

オブジェクト指向とは

Javaについて学習する際に必ず一度は「Javaはオブジェクト指向プログラミングです」と言ったような言葉を聞いたことがあるでしょう。

いろいろな参考書やwebサイトを見てみてもオブジェクト指向に対する説明の仕方はまちまちで、結局オブジェクト指向とは何なの?といまいち理解できていない方も多いはずです。

まず一つとして言えるのは、非常にざっくりとした言い方になってしまいますがオブジェクト指向とは「考え方」や「概念」であるということです。

この記事では、曖昧なオブジェクト指向について少しでもイメージを掴んでいただけるように、なるべくわかりやすい例えを用いながらオブジェクト指向について解説していきますのでぜひお付き合いください!

一般的なオブジェクト指向の説明

まず、さまざまな参考書やウェブサイトで説明しているオブジェクト指向について紹介していきます。

  • 発想、着眼点、テクニックを利用する考え方
  • ソフトウェアを開発するときに用いる部品化の考え方
  • 柔軟性が上がる
  • 保守性が上がる
  • 再利用性が上がる
  • プログラムの一部を簡単に再利用できる
  • プログラムを容易に変更できる

ざっと上に挙げたような説明がほとんどですね。とりあえず共通して言えることは、オブジェクト指向を利用することでプログラムの開発が楽になり、安全に利用できて後から変更もしやすくなるということですね。

なんとなくはわかるんだけど、いろいろなメリットがあるせいか、ぼんやりしていて具体的なイメージがしにくいですよね。

もっと具体的に想像しやすいようにオブジェクト指向について例えを用いて説明していきます!

数学に例えた考え方

オブジェクト指向とは何か?について、まずは誰もが一度は学生生活で触れたことのある数学を例に挙げて説明していきます。

数学は、高校時点で習うものとして、大きく分類すると数学1A、数学2B、数学3Cの3つに分類することができます。

1Aは、因数分解、二次関数、確率、集合など、2Bでは微分積分、ベクトル、数列などの公式を学びます。

それに対して、3Cでは主に、1Aと2Bに学んだことを生かして文章題を解くことにフォーカスを当てています。3Cでは、新しいことを学ぶというより今まで学んだことを組み合わせて問題を解くプロセスが重要になってきます。

その証拠に、3Cでは解答だけでなく途中経過である計算式を採点内容に含めることが傾向的に多いです。

この数学の分類と同様にJavaプログラミングも基本文法とオブジェクト指向(考え方)に分類して考えることができるのです。

みなさんがすでに学んでいるであろうif文やwhile文、クラスやメソッドの利用方法などは、数学1Aや数学2Bのようにプログラミングをする上で必要になってくる基本的文法に分類することができます。

そして、オブジェクト指向は数学3Cです。これまでのJavaの基本文法を活かして、材料を部品ごとに分けていかに簡単でスムーズに開発を進めることができるかという考え方のことをオブジェクト指向であると認識すると覚えやすいのではないでしょうか。

数学3Cと同様に、オブジェクト指向ならではの新しく覚える機能ももちろん存在しますのでそこは、これまでの基本文法と同様にしっかりと学んでみてください!

Javaのオブジェクト指向プログラミングの具体的な内容について、紹介している記事もございますのでぜひそちらもご覧になってください!