В разработке программного обеспечения объект — это сущность , которая имеет состояние , поведение и идентичность . [1] : 78 Объект может моделировать некоторую часть реальности или может быть изобретением процесса проектирования , чье сотрудничество с другими такими объектами служит механизмами, обеспечивающими некоторое поведение более высокого уровня. Другими словами, объект представляет собой индивидуальный, идентифицируемый элемент, единицу или сущность, как реальную, так и абстрактную, с четко определенной ролью в проблемной области. [1] : 76
Язык программирования можно классифицировать на основе его поддержки объектов. Язык, который предоставляет конструкцию инкапсуляции для состояния, поведения и идентичности, классифицируется как основанный на объектах . Если язык также предоставляет полиморфизм и наследование , он классифицируется как объектно-ориентированный . Язык, который поддерживает создание объекта из класса, классифицируется как основанный на классах . Язык, который поддерживает создание объекта через шаблонный объект, классифицируется как основанный на прототипах .
Концепция объекта используется во многих различных программных контекстах, включая: