 An object in OOP can be described as a semi-autonomous unit comprising both information and behaviour.Objects communicate by means of "method calls", which are essentially subroutine calls, done indirectly via the class to which the receiving object belongs.The object's internal data can only be accessed by means of method calls, so this is a form of information hiding or "encapsulation".