An Association implies two model elements have a relationship, usually implemented as an instance variable in one Class. This connector can include named roles at each end, multiplicity, direction and constraints. Association is the general relationship type between elements. To connect more than two elements in an association, you can use the N-Ary Association element.
When code is generated for Class diagrams, Associations become instance variables in the target Class. The relationship is also used in Package, Object, Communication, Data Modeling and Deployment diagrams.
An Associate connector can also be integrated with a Class element to form an Association Class, to allow the Associate connector to have operations and attributes that define certain types of UML relationship.
You can also define template binding parameters for an Associate connector between a binding Class and a parameterized Class.
OMG UML Specification:
The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 41) states:
An association specifies a semantic relationship that can occur between typed instances. It has at least two ends represented by properties, each of which is connected to the type of the end. More than one end of the association may have the same type.
An end property of an association that is owned by an end class or that is a navigable owned end of the association indicates that the association is navigable from the opposite ends; otherwise, the association is not navigable from the opposite ends.