読み方:オブジェクトしこう

オブジェクト指向 【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
基本情報技術者試験 : 令6修1 問35 平29春 問48 平28修6 問47 平27修12 問49 平26修7 問46 平26修1 問48 平26修1 問50 平25修1 問47 平24修12 問47 平24修7 問48 平24修1 問48 平23秋 問46 平23春 問48 平22修6 問49 平22春 問47 平22修1 問48 平21秋 問46 平21修7 問46 平21修6 問45 平21春 問47