С точки зрения объектной модели - использование объекта как поле другого объекта. Мы используем композицию в случае если объект является составной частью другого объекта. class Car { Engine engine; Wheel wheels[4]; }
В таком случае составной объект является хозяином своих объектов-частей и ответственнен за их создание и удаление.