読み方 : オブジェクトがた

Object型【Object type】オブジェクト型

Object型とは?

プログラミング言語においてデータと関連する処理をひとまとめにした複合的な構造を扱うデータ型。数値や文字列などの単一の値を表すプリミティブ型とは異なり、複数のプロパティメソッドを一つの変数に格納できる。多くのオブジェクト指向言語では、すべてのクラスの基底となる型として定義されている。

JavaScriptのObject型

JavaScriptでは、プリミティブ型以外のあらゆる値がオブジェクトとして扱われ、配列や関数もObject型の一種である。キーと値のペアを自由に組み合わせた汎用的なデータ構造としても広く使われており、「{ name: "田中", age: 30 }」のようなオブジェクトリテラルで手軽に生成できる。このリテラル記法をそのままデータ記述言語としたものを「JSON」(JavaScript Object Notation)と呼び、他言語も含めWeb APIを通じたデータのやり取りなどで多用される。

JavaなどのObjectクラス

JavaやC#では、利用者が独自に定義したクラスも含め、すべてのクラスが暗黙的にObjectクラス継承する構造になっている。これにより、型が異なる複数のオブジェクトを同一の変数やコレクションにまとめて格納できる。メソッドの引数をObject型にすると、種類の異なるオブジェクトを共通に受け取れるため、汎用的な処理を実装しやすくなる。

Object型として扱われた値を元の型で利用するには、明示的な型変換キャスト)が必要になる場合が多い。Javaであれば「(String) obj」のように記述して元の型へ戻す。実際の型と一致しないキャストを行うと実行時例外が発生するため、instanceof演算子などで型を事前に確認するのが一般的な作法である。

Object型を多用すると型安全性が低下し、コンパイル時に型の誤りを検出しづらくなる。古いプログラミング環境では異なる型のデータを一つの配列に格納する目的でよく使われていたが、実行時エラーの原因になりやすい。現在ではジェネリクスを使い、格納できる型を事前に限定することで柔軟性と安全性を両立させる設計とすることが多い。

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