結局何なの?5分で分かるオブジェクト指向!



結局何なの?5分で分かるオブジェクト指向!
目次
  1. ワンランク上をいくプログラミング初心者は知っている!『オブジェクト指向』について
  2. オブジェクト指向が採用されているプログラミング言語
  3. 知っておかないといけない理由
  4. オブジェクト指向とは
  5. オブジェクト指向、関数型、手続き型の比較
  6. オブジェクト指向のサンプルコード(Java)
  7. まとめ

Ruby や PHP、JavaScript、Java、Swift などプログラミングの学習をはじめると、必ず最初の方に「このプログラミング言語はオブジェクト指向言語である」 と説明されていますが、この言葉の意味ってご存知でしょうか?

多くの方が、この言葉を掘り下げず、目先のプログラムやプロジェクトに目が奪われがちですが、末永くプログラミング・スキルを上げていこうと思うとオブジェクト指向の理解は必須です。 そこで今回は置き去りにされがちなオブジェクト指向という言葉に迫ってみたいと思います。

ワンランク上をいくプログラミング初心者は知っている!『オブジェクト指向』について

オブジェクト指向が採用されているプログラミング言語

まずはどんなプログラミング言語にオブジェクト指向が適用されているのか、チェックしてみたいと思います。

ウィキペディア*で確認する限り 120種類以上のプログラミング言語にオブジェクト指向は当てはまります。

オブジェクト指向型プログラミング言語 Java や C++、C#、Swift、Ruby、PHP、JavaScript、Python、R など

私達が最初に学習する人気の言語には、オブジェクト指向が適用されていることが分かります。

つまり、オブジェクト指向を理解すると、多くのプログラミング言語の習得に一役買うことが分かります。

また参考までに、オブジェクト指向を採用していないプログラミング言語は、CやGo*などになります。

知っておかないといけない理由

img : fandom

オブジェクト指向を理解することで多くのプログラミング言語の習得に役立つことはイメージできましたが、中には「WordPressでPHP、RailsでRuby を使っていて、オブジェクト指向を解っていなくても使えているよ」という方もいらっしゃるでしょう。

確かに現状は問題ないかもしれませんが、より深くプログラムを理解し、スマートに、そして自由にプログラムを使おうと思うとオブジェクト指向への理解は欠かせません。

例えば、WordPressをより本格的にカスタマイズする際のプラグインの取り扱いには、オブジェクト指向の継承という機能の知識が欠かせないのでは?* と言われています。

この他にもRubyやJava、Swifを使ってアプリ開発を進めていくと、いずれはオブジェクト指向の理解が必要となってきます。 またオブジェクト指向は、プログラミングを行う上での基幹部分にもなりますので、早い段階で知っておくと学習もはかどると思います。

オブジェクト指向とは

https://youtu.be/q2pibQmexcs[/embed]

【オブジェクト指向の参考動画】

オブジェクト指向とは、プログラムの作り方の一つ になります。 改めてプログラムの理想形を考えてみると、

  • 効率的に作っていきたい

  • バグはない方がいい

  • 再利用可能なプログラムであった方がいい

などが挙げられます。

この理想形を叶えてくれるプログラムの書き方が、オブジェクト指向です。 オブジェクト指向以外にもプログラムの書き方はあって、関数型や手続き型が有名です。 PHPやRuby、Java、C++などは一般的にオブジェクト指向で記述しますが、関数型や手続き型としてもプログラムすることは可能です。 以下にオブジェクト指向、関数型、手続き型のメリット・デメリットを参考までにご紹介します。

オブジェクト指向、関数型、手続き型の比較

オブジェクト指向 関数型 手続き型
メリット
  • 大規模プロジェクトむき
  • 再利用可能なモジュール設計が簡単
  • プログラムの内容が理解しやすい
  • 副作用が少なく、バグが起きにくい
  • 最近注目されている
  • 小規模プロジェクトむき
  • 比較的理解しやすい
デメリット
  • プログラムの設計が難しい
  • プログラムが複雑化しやすい
  • プログラムが読みにくい
  • 高いプログラミング能力が必要
  • 主に業務用で適用範囲が限定的
  • プログラムが大きくなると保守が大変
  • コードを再利用しにくい

より詳しい違いを知りたい方は、実際にコード(java)の比較もしているこちらのページが参考になると思います。

オブジェクト指向のサンプルコード(Java)

オブジェクト指向、頭で考えると難しいですが、実際にコーディングしてみると、案外簡単にイメージをつかめます。

サンプルコードはネット上でも色々ありますが、私はこちらの計算プログラムが分かりやすく、小さな達成感を味わうことができました。 まず適当な名前のフォルダを制作(今回は Calculate)し、以下の2つの Javaファイルをダウンロード&配置し、コマンドからコンパイル、そしてCulculateTestを実行してみて下さい。(Windows の場合は、Java の事前インストールが必要です)

サンプルファイルのダウンロード/Calculate.java  CalculateTest.java

 

  1. フォルダの制作

    <li>ファイルのセット
    
    
    <li>2つの java ファイルをコンパイル、そして実行
    

    【コマンド】 javac Calculate.java javac CalculateTest.java java CalculateTest

  2. 数字を3つ入力すると、足し算、掛け算、平均を算出してくれます。
Calculate.java内の7行目の Input(入力値)というオブジェクトに対して、足し算や掛け算などの処理(メソッド)を行う Javaプログラムとなっています。

2つのファイルで作業を分担することで、足し算や掛け算以外にも最小値や最大値、大きい順など様々な演算処理を簡単に追加・編集することができます。

いかがでしょうか?オブジェクト指向、なんとなくイメージできてきましたでしょうか?

まとめ

今回はオブジェクト指向の入り口部分について簡単にご紹介させて頂きました。実際にオブジェクト指向を使っていこうと思うと、たくさんの学習時間と熱意、それから基礎知識が必要になってきます。

特に基礎知識は重要で、これがないと学習の途中でつまづいた時に大きなロスタイムが予想されます。

PHP、Java、Ruby、Swift、JavaScriptの基礎学習は、CodeCamp をぜひご参考下さい。

関連記事

オシママサラ
この記事を書いた人
オシママサラ
\無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp