Есть два типа связи между объектами: АССОЦИАЦИЯ, которая делится на композицию и агрегацию, и НАСЛЕДОВАНИЕ. Ассоциация (делится на композицию и агрегацию) - это связь между двумя классами, которая позволяет одному классу использовать функциональность другого класса. Ассоциация - обозначает связь между объектами. Например, игрок играет в определенной команде. Ассоциация означает, что объекты двух классов могут ссылаться один на другой, иметь некоторую связь между друг другом.
Например Менеджер может выписать Счет. Соответственно возникает ассоциация между Менеджером и Счетом. Еще пример — Преподаватель и Студент — т.е. какой-то Студент учится у какого-то Преподавателя.
Ассоциация и есть описание связи между двумя объектами. Студент учится у Преподавателя. Идея достаточно простая — два объекта могут быть связаны между собой и это надо как-то описать. Например, класс Car может иметь ассоциацию с классом Engine, чтобы использовать его функциональность для движения.
Пример:
public c