In object-oriented programming (OOP), a self-contained program component that contains properties (data), as well as the methods (procedures), needed to make a specific type of data useful. In class-based languages such as C++ and Java, each is an instance of a subordinate class, a component that contains abstract declarations of the properties and methods available to all instances of a class. An object, given has a private part, used for storing data, that is inaccessible to other objects. It also has a public part, also called an interface, which enables other objects to use its methods. The interface is designed so that external accesses can be performed without knowing the details of how the stores or manipulates its data. See class, model, object-oriented programming. See dynamic object, OLE, static object.