Associeringsrelationen indikerar att en klass vet om och har en hänvisning till en annan klass. Föreningar kan beskrivas som ett "har-en" -förhållande eftersom den typiska implementeringen i Java är genom användning av ett instansfält. Förhållandet kan vara dubbelriktat med varje klass med en referens till den andra. Aggregering och sammansättning är typer av associeringsrelationer.
Föreningar går med i en eller flera av en sak mot en eller flera av en annan sak. En professor kan vara förknippad med en högskolekurs (en en-till-en-relation) men också med varje student i sin klass (en en-till-många-relation). Studenterna i ett avsnitt kan vara associerade med eleverna i ett annat avsnitt av samma kurs (ett förhållande mellan många och många) medan samtliga delar av kursen hänför sig till en enda kurs (en förhållande mellan många och en).
Föreställ dig ett enkelt krigsspel med en AntiAircraftGun-klass och en Bomber-klass. Båda klasserna måste vara medvetna om varandra eftersom de är utformade för att förstöra varandra:
public class AntiAirCraftGun
privat bombermål;
privat int position X;
privat int positionY;
privat int-skada;
public void setTarget (Bomber newTarget)
this.target = newTarget;
// resten av AntiAircraftGun-klassen
offentlig klass Bomber
privat AntiAirCraftGun-mål;
privat int position X;
privat int positionY;
privat int-skada;
public void setTarget (AntiAirCraftGun newTarget)
this.target = newTarget;
// resten av Bomber-klassen
AntiAirCraftGun-klassen har en Bomberobjekt och Bomber-klassen har en AntiAirCraftGun-objekt.