Objects reflect the reality from the application environment together with all contexts. They are model-like reproductions of structures that describe a software problem and that interact on the way to the result. Objects
can be placed in relation to each other, whereby the interaction between the objects takes place according to a functional plan.
Objects can enter into a relationship with other objects, and do so via known methods. These methods form the object interfaces. As an example, consider an electrical device that is turned on by pressing a button. Such a switch represents an interface
between the user and the inside of the device. Object interfaces are declared like classes, but they cannot be instantiated and do not have their own definition methods. Rather, they are the classes that support an interface and its implemented methods.