En el desarrollo de software , un objeto es una entidad que tiene estado , comportamiento e identidad . [1] : 78 Un objeto puede modelar alguna parte de la realidad o puede ser una invención del proceso de diseño cuyas colaboraciones con otros objetos similares sirven como mecanismos que proporcionan algún comportamiento de nivel superior. Dicho de otra manera, un objeto representa un elemento, unidad o entidad individual e identificable, ya sea real o abstracto, con un papel bien definido en el dominio del problema. [1] : 76
Un lenguaje de programación se puede clasificar en función de su compatibilidad con objetos. Un lenguaje que proporciona una construcción de encapsulación para el estado, el comportamiento y la identidad se clasifica como basado en objetos . Si el lenguaje también proporciona polimorfismo y herencia , se clasifica como orientado a objetos . Un lenguaje que admite la creación de un objeto a partir de una clase se clasifica como basado en clases . Un lenguaje que admite la creación de objetos a través de un objeto de plantilla se clasifica como basado en prototipos .
El concepto de objeto se utiliza en muchos contextos de software diferentes, incluidos: