Ответ
Агрегация — это вид ассоциации в ООП, где один объект (контейнер) содержит ссылки на другие объекты (компоненты), но их жизненные циклы независимы. Уничтожение контейнера не влечёт автоматического удаления компонентов.
Пример в Kotlin:
class Engine { /* ... */ }
class Car(val engine: Engine) {
// Car агрегирует Engine, но Engine может существовать без Car
}
Ключевые особенности:
- Отношение "has-a" (у машины есть двигатель)
- Компоненты могут принадлежать нескольким контейнерам
- Компоненты создаются/удаляются независимо