オブジェクト指向 【object-oriented】 OO

概要

オブジェクト指向(object-oriented)とは、コンピュータプログラムの設計や実装についての考え方の一つで、互いに密接に関連するデータ集合と手続き(処理手順)を一つのまとまりとして定義し、これを組み合わせてプログラム全体を構築していく手法。

システム全体を、現実世界の物理的なモノ(object)に見立てた「オブジェクト」と呼ばれる小さな構成単位の組み合わせとして捉える。システムの振る舞いはオブジェクト間の相互作用(機能の呼び出し/処理依頼)として記述される。

オブジェクトにはそれぞれ固有のデータ(属性/プロパティ/メンバ変数)と手続き(メソッド/メンバ関数)があり、外部からのメッセージを受けてメソッドを実行し、保有するデータを操作する。オブジェクトに付随するデータの操作は原則としてすべて内部のメソッドによって行われる。

この点をよく「生徒オブジェクトが数学、国語、英語の点数プロパティと平均点算出メソッドを持つ」といった例で説明するが、コンピュータプログラムではソフトウェアやデータに関連する概念や対象も取り扱うため、プログラム中のオブジェクトが必ずしも現実の物理的実体に対応するとは限らない。

オブジェクト指向はデータと操作手順を一体化(カプセル化)し、外部には処理の依頼方法(インターフェース)のみが公開されるため、ある箇所の変更が外部に与える影響を小さくすることができる。チームでのソフトウェア開発で分担などが行いやすく、大規模開発に向いていると言われる。適切に設計されたコードは他のプログラムで再利用しやすいため、似たような機能を重複して開発することを避け、開発の効率化を促すとされる。

オブジェクト指向の考え方をプログラミングに応用した手法を「オブジェクト指向プログラミング」(OOP:Object-Oriented Programming)と呼び、単にオブジェクト指向といった場合はこれを指すことが多い。オブジェクト指向開発のための仕様が盛り込まれたプログラミング言語を「オブジェクト指向言語」(OOL:Object-Oriented Language)という。

オブジェクト指向の概念自体はシステムやプログラムの設計や分析にも用いられ、「オブジェクト指向モデリング」(OOM:Object-Oriented Modeling)、「オブジェクト指向分析」(OOAObject-Oriented Analysis)、「オブジェクト指向設計」(OOD:Object-Oriented Design)などの技法が存在する。

(2022.11.8更新)

オブジェクト指向用語辞典

他の辞典による解説 (外部サイト)

試験出題履歴

ITパスポート試験 : 令3 問41 平24秋 問45 平22秋 問45
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。