An object is an instance of a class: a runtime entity that holds specific values for the attributes defined by its class and can execute the methods that class defines. Objects encapsulate state and behavior together, communicating with other objects through method calls (message passing). The identity of an object is distinct from its state — two objects can have identical attribute values but remain different entities.