オブジェクトモデル【object model】
概要

「オブジェクト」(object)とは、属性(データ)と操作(メソッド)を一つにまとめた単位である。オブジェクトモデルはこれらのオブジェクトがどのような情報を持ち、どう振る舞い、互いにどう関係するかを定義する。例えば、図書館システムであれば、「本」「利用者」「貸出記録」などをオブジェクトとして表し、それぞれの属性や関連を記述する。
ソフトウェア開発では、オブジェクト指向設計の基盤としてオブジェクトモデルが用いられる。現実世界の事物や業務上の概念をオブジェクトとして抽象化し、クラス、継承、カプセル化といった仕組みでシステム全体の構造を記述する。UMLのクラス図は、このモデルを視覚的に表現する代表的な手法である。
個別の技術領域では、特定のソフトウェアや環境が扱うオブジェクト群の構造と操作方法を定義した仕様をオブジェクトモデルと呼ぶ場合がある。例えば、文書作成ソフトや表計算ソフトでは、アプリケーションや文書、ワークシート、セルなどの要素がオブジェクトとして定義され、マクロや自動化プログラムからそれぞれのプロパティやメソッドを通じて操作できる。
Webブラウザでは、HTMLやXML文書の構造をオブジェクトの木構造として表現したものを「ドキュメントオブジェクトモデル」(DOM:Document Object Model)という。ページ内の文章、画像、見出しといった要素を階層的なオブジェクトとして表現し、JavaScriptから内容の変更や追加を行うためのインターフェースとして用いられる。Webアプリケーション開発において欠かせない仕組みである。
プログラミング言語の分野では、言語がデータを内部で保持・管理する仕組みをオブジェクトモデルと呼ぶことがある。Pythonでは整数や関数、クラスといったあらゆる要素をオブジェクトとして統一的に扱うことができる。言語ごとに独自のモデルが存在し、クラスの定義方法や継承の手続き、変数への代入時の挙動などが規定される。