In einem UML-Klassendiagramm ist eine "Komposition" eine Beziehung zwischen Klassen, die verwendet wird, um eine "ganze Teil"-Beziehung darzustellen. Das bedeutet, dass eine Klasse (die als "ganze" bezeichnet wird) aus anderen Klassen (die als "Teile" bezeichnet werden) besteht, und diese Teile sind eng mit der ganzen Klasse verbunden. Die Kompositionsbeziehung wird normalerweise mit einem Diamanten-Symbol (oft auch als Raute bezeichnet) und einer Linie dargestellt, die von der ganzen Klasse zu den Teilklassen zeigt.
Hier sind einige wichtige Merkmale einer Kompositionsbeziehung:
Lebensdauer: Eine Komposition zeigt, dass die Teile nur innerhalb der ganzen Klasse existieren und in der Regel mit ihr erstellt und zerstört werden. Wenn die ganze Klasse zerstört wird, werden auch ihre Teile zerstört.
Kardinalität: Die Kardinalität gibt an, wie viele Instanzen der Teilklasse in der ganzen Klasse enthalten sein können. Zum Beispiel kann eine Klasse "Auto" eine Komposition mit einer Klasse "Reifen" haben, wobei die Kardinalität "4" angibt, dass ein Auto genau 4 Reifen hat.
Nicht-Teilbarkeit: In einer Kompositionsbeziehung wird oft die "nicht-teilbare" Natur der Teile betont, was bedeutet, dass sie nicht unabhängig von der ganzen Klasse existieren können. Dies steht im Gegensatz zur Aggregation, bei der Teile unabhängig von der ganzen Klasse existieren können.
Ein einfaches Beispiel für eine Kompositionsbeziehung könnte ein Klassendiagramm für ein Auto sein, bei dem das Auto aus verschiedenen Teilen wie Motor, Rädern, Karosserie usw. besteht. Diese Teile sind eng mit dem Auto verbunden und haben eine Lebensdauer, die von der des Autos abhängt, was eine Kompositionsbeziehung zwischen ihnen darstellt.