агрегирование в Java это отношения между двумя классами, которые лучше всего описать как отношения «есть-а» и «целое / часть». Это более специализированная версия отношения ассоциации. Агрегатный класс содержит ссылку на другой класс и считается владельцем этого класса. Каждый упомянутый класс считается часть совокупный класс.
Владение происходит потому, что в отношениях агрегации не может быть циклических ссылок. Если класс A содержит ссылку на класс B, а класс B содержит ссылку на класс A, то четкое владение не может быть определено, и это просто связь.
Например, если вы представляете, что класс ученика хранит информацию об отдельных учениках в школе. Теперь предположим, что класс Subject содержит подробности о конкретном предмете (например, история, география). Если класс Student определен как содержащий объект Subject, то можно сказать, что объект Student имеет Предмет объекта. Объект Subject также составляет часть Студенческий объект - ведь нет студента без предмета для изучения. Следовательно, объект Student владеет объектом Subject.