Association

An association is a broad term that refers to a semantic relationship between classes. If one class uses another class (unidirectional), or two classes use each other (bidirectional), they have a relationship. Relationships between classes are represented by an association, which is shown on a class diagram as a solid line:

When there are no arrowheads at the end of the line, the navigability of the association is unspecified. However, in diagrams where arrows are used for one-way navigable associations, a line with no arrows is assumed to represent bidirectional navigability. In the preceding example, which would mean that both Student and Instructor are accessible from each other. Alternatively, a bidirectional association can be depicted by having an open arrowhead at the end of both lines.

If we want to model unidirectional navigability, an open arrowhead can be used. In the following diagram, class B is navigable from class A:

Aggregation and composition are subsets of association and are used to represent specific types of association.