Using data structures called objects, which encapsulate data and typically are accessed by passing messages, which in turn may trigger internal procedures within the object which are invisible outside the object.
A modern paradigm of programming which models information in terms of objects. Computation occurs when one object receives a message from another asking it to perform one of its methods, i.e, special subroutines subcategorized for each type of object. The object-oriented approach, in which the data and the program behavior are encapsulated in the objects, contrasts with the conventional approach to programming, in which a monolithic program operates on data which is completely separate. Object-oriented programming is more amenable to modelling parallel processing.