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

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

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

システム全体を、現実世界の物理的なモノ(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】 次の a~d のうち、オブジェクト指向の基本概念として適切なものだけを全て挙げたものはどれか。a クラスb 継承c データの正規化d ホワイトボックステスト。
平22秋 問45】 ソフトウェア開発で利用する手法に関する記述 a~c と名称の適切な組合せはどれか。a 業務の処理手順に着目して、システム分析を実施する。

▼ 基本情報技術者試験
令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】 オブジェクト指向の基本概念の組合せとして,適切なものはどれか。