An object that contains one or more objects. This occurs when at least one instance variable of an object is of type object. Composite objects, along with delegation, are typical techniques to eliminate the unwanted side effects of multiple inheritance (see inheritance below).