オブジェクト (プログラミング)
オブジェクトは単純なデータとは限らない<何ものか>を指す概念だが、プログラムが実行される際、オブジェクトに相当する実体は記憶装置上のデータである。これに対し、クラスはインスタンスが持つデータの形式と操作についての定義であり、プログラムが実行されるときの実体としては記憶装置上のプログラムなどが対応する(より正確には言語や処理系によって異なる)。このとき、そのオブジェクトは、<何ものか>を抽象化していると表現される。(ここで言う「抽象化」は、C++の抽象クラスとは無関係)
例えば、「会員」(ある1人の会員)を表す1つのオブジェクトは、処理系での実装上は、会員番号や氏名など会員としての情報、そして「会員クラスに属するオブジェクトであるという情報」などをまとめたデータとして表されうる。 オブジェクトに対する操作については、同種の動作(振る舞い)をするオブジェクトをクラスとしてまとめていることにより、動作を表すプログラムを個々の会員インスタンスに持たせる必要はなく、クラスの側に動作に相当するプログラム(処理系によっては翻訳後のプログラム)を持たせる実装が可能である。
インスタンス生成が可能なクラスは、記憶装置上に自らのインスタンスを作るための手続きを備えており、この手続きが何らかの形で(通常は他のオブジェクトによって)呼び出されることで、インスタンスが生成される。