An object is a software module that consists of data attributes and methods, or functional routines, that operate on the data attributes.
Some of the methods define an interface that can be used by other software modules or objects. Adherence to a consistent interface isolates the inner functionality of an object from that of any other interfacing software module or objects. As long as the interface remains the same, the following statements are true:
- Changes to the inner workings of an object do not impact referencing applications.
- Changes to referencing applications do not impact the inner workings of an object.