Отношения между объектами
Кроме наследования и реализации есть ещё несколько видов отношений между объектами, о которых мы ещё не говорили.

Ассоциация в UML-диаграммах. Профессор взаимодействует со студентами.
Ассоциация — это когда один объект использует другой, либо зависит от него. В UML ассоциация обозначается простой стрелкой, которая направлена в сторону зависимости. Двустороння ассоциация между объектами вполне допустима.

Композиция в UML-диаграммах. Университет состоит из кафедр.
Композиция — это отношение «часть-целое» между двумя объектами, когда один из них включает в себя другой. Особенность этого отношения заключается в том, что компонент может существовать только как часть контейнера. В UML композиция обозначается линией со стрелкой на одном конце и заполненным ромбом на другом конце. Ромб направлен в сторону контейнера, а стрелка — в сторону включаемого объекта.

Агрегация в UML-диаграммах. Кафедра содержит профессоров.
Агрегация — это менее строгий вариант композиции, когда один объект просто имеет ссылку на другой объект. Здесь контейнер не управляет жизненным циклом компонента. Компонент может существовать отдельно от контейнера. В UML агрегация изображается как композиция, но с пустым ромбом.

