Встречается на собеседованиях • сегодня

В чем разница между композицией и агрегацией в ООП

Композиция и агрегация — это виды ассоциации между объектами, но с разной степенью зависимости: **Композиция** — строгая связь, где "часть" не может существовать без "целого". При уничтожении родителя уничтожаются и его части. Пример: `Car` и `Engine` — двигатель не существует без машины. ```java class Engine { /*...*/ } class Car { private Engine engine; Car() { this.engine = new Engine(); // создается внутри класса } } ``` **Агрегация** — слабая связь, где "часть" может жить отдельно от "целого". Объекты передаются извне. Пример: `Department` и `Employee` — сотрудник может работать без отдела. ```java class Employee { /*...*/ } class Department { private List employees; Department(List employees) { this.employees = employees; // принимается извне } } ``` **Ключевое отличие**: жизненный цикл зависимого объекта. В композиции — управляется родителем, в агрегации — независим.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы