An object is an instance of a class that has an identity, state, and behavior. The identity is defined by the object's name, state represents the data values of its attributes, and behavior is represented by the functions defined in its class. Objects can be created by declaring a variable of a class type, which allocates memory for the object. Objects can be passed as arguments to functions by value, making a copy, or by reference, where changes made inside the function affect the actual object. A method can return an object as the return value.