La composition consiste à construire une classe en lui donnant comme attributs d'autres objets auxquels elle délègue du travail, relation « a un ». Elle est plus souple que l'héritage car elle permet de changer les parties sans casser une hiérarchie : « préférer la composition à l'héritage ».
Exemple
class Voiture {
private final Moteur moteur = new Moteur();
}