Популярные ответы
Агрегированием в объектно-ориентированном программировании называется создание нового класса путём включения в него уже существующих классов. Агрегирование реализует отношение принадлежности.
Включенные в состав нового класса объекты обычно объявляются закрытыми. Однако, если разрешить их измение или замену, можно динамически измененять поведение класса. Механизм наследования не предоставляет такой возможности, поскольку для дочерних классов устанавливаются ограничения, проверяемые на стадии компиляции.
Агрегация (ее также называют агрегированием по ссылке) — это отношение "часть-целое" между двумя равноправными объектами, когда один объект (контейнер) имеет ссылку на другой объект. Оба объекта могут существовать независимо: если контейнер будет уничтожен, то его содержимое — нет.
Композиция (ее также называют агрегированием по значению) — это ситуация, когда включаемый объект может существовать только в составе контейнера. Если удалить контейнер, то и включённый объект также будет уничтожен.
Источники: