ピクシブ百科事典は2024年5月28日付でプライバシーポリシーを改定しました。改訂履歴
編集内容:全体を加筆。プログラミングパラダイムに限らない考え方

概要

オブジェクト指向(object-oriented)とは、ソフトウェア設計の考え方である。元々はプログラミングの手法のひとづだが、のちに拡張されデータベース、モデリング、ユーザーインターフェースなど各方面に適用されるパラダイムとなった。

「カプセル化」、「継承」、「多態性」(ポリモーフィズム)がオブジェクト指向三大要素と言われるが、それらに共通しているのは、データと処理手順を別々に扱っていた従来の標準的な手法に対し、双方をひとまとめにして物事の解析と組み立てを行う点である。

1970年代に開発されたSmalltalkがオブジェクト指向プログラミングのはしりだが、当時この考え方は十分に理解されず、流行し定着したのは1990年代になってからである。

この考え方が広まったきっかけは、1989年にリリースされたNEXTSTEP(Appleを追放されたスティーブ・ジョブズが興したNeXT社が開発したOS)にある。同OSはC言語にオブジェクトシステムを融合させたObjective-Cで書かれ、同言語による開発環境を揃えていたのみならず、ユーザーインターフェース、データ管理など全てオブジェクト指向の考え方に基づいて設計されていた。同OSは最初のWWWの設計に利用されたほか、世界初のWebアプリケーションサーバWebObjectsを生み出し、現在のインターネットの在り方を決定づけた。

オブジェクト指向プログラミング

オブジェクト指向三大要素を兼ね備えた言語。

代表的な言語に上述のSmalltalkとObjective-Cのほか、JavaC#SwiftPythonJavaScriptRuby...等がある。

手続き型との比較

  • 簡潔に書けることが多い。
  • 数値がカプセル化されているため外部からの変更を制限できる。
  • JavaC#Python等で大型のプログラムを書くことができる。

関数型との比較

  • 動的な数値、型、配列が使えるため、動的な処理ができ易い。
  • 多重継承でスパゲッティプログラムになる可能性がある。

関連記事

編集内容:全体を加筆。プログラミングパラダイムに限らない考え方