オブジェクト (プログラミング)
例えば、注文書を表すオブジェクトには、注文する商品を追加する操作や注文を取り消す操作を用意することができる。またマウスカーソルを表すオブジェクトについては、上下左右に動かす、クリックするというような操作が考えられるし、ファイルのオブジェクトについては、コピー、削除などの操作が考えられる。操作対象と操作そのものの定義や動作をまとめて表現することでプログラムの見通しが良くなり、プログラミング効率やプログラムの再利用性を高めるのに寄与すると考えられている。
クラスベースのオブジェクト指向では、共通した特徴や動作をもつオブジェクトをまとめ、その共通の性質を記述・定義した、「オブジェクトの分類」をクラスという(英語の class は種類・分類の意味がある)。そして、あるクラスに分類される具体的なオブジェクトをそのクラスのインスタンスという。例えば、「ファイルというもの」や「アイコンというもの」の性質を定義したのがクラスであり、「ファイルというもの」の性質に沿った一つ一つのファイルを表すものが「ファイルクラスのインスタンス」である。
オブジェクト指向プログラミングパラダイムでは、関連するデータを束ね、代入、演算、手続き(関数やメソッドなど)を介した受け渡しといった操作の対象にでき、またメッセージの受け手になれる実体をオブジェクトと呼ぶ(ただし、数値などの基本的なデータ型はオブジェクトとしないプログラミング言語も多い)。多くの場合、オブジェクトは他のオブジェクトを要素として格納することができ、複雑なデータ構造を表現できる。 なお、英語の object には「対象」「もの」といった意味がある。
オブジェクトは、プログラム上で実現したい概念(例えば「顧客」「社員」「課」「商品」「注文書」など)をメタファとして表現するのにもしばしば使われ、プログラムの設計を考えたり他人と共有したりするのに役立つと考えられている。またマウスカーソル、ウィンドウ、メニュー、ファイル、段落など、コンピュータ上でユーザが目にするもので、名前が付いているようなものはほとんどオブジェクトとして表現できる。
オブジェクトは、それ自身に関するデータだけでなく、それ自身や内部のデータに対する操作も束ねている場合が多い。