# Aggregation / Komposition



## SpartacusBSB (3. Apr 2012)

Morgen Leute,

eine kurze Frage zum Thema OOP in Java.

Was bedeuten die Wörter Aggregation / Komposition genau?

Ist das nicht die Beziehung zwischen Klassen und deren Objekten, sprich dass wenn ich eine Klasse Auto und eine Klasse Motor habe, ich in der Klasse Auto ein Objekt : 
	
	
	
	





```
Motor motor1;
```
 erzeuge?
Was genau ist dann die Komposition?

Gruß


----------



## SlaterB (3. Apr 2012)

Wörter sind immer Schall und Rauch, wieso das Interesse kann man jeweils als Gegenfrage stellen?
wenn als Aufgabe gestellt, gibt es dann kein Skript/ Buch mit Erklärungen?

um nicht nur Offtopic zu posten übernehme ich den leichten Teil der Internet-Links:
Assoziation (UML) ? Wikipedia
(Assoziation als Synonym für Komposition == die Zusammensetzung wie du es auch schon nennst)

Aggregation ? Wikipedia
weitergeleitet in Informatik ist dort interessanterweise tatsächlich abweichend die Zusammenführung von Informationen gemeint,
etwa Durchschnittsalter von x Personen gemeint,

für andere Gebiete definiert sieht es aber teils auch wieder nach Verbund mehrerer Einzelobjekte aus, 
in meinen Augen gleichbedeuted

eher verwirrend finde ich dieses PDF hier:
http://www.pst.informatik.uni-muenchen.de/lehre/WS0405/infoeinf/material/folien07assoz_6.pdf


----------



## ThreadPool (3. Apr 2012)

SpartacusBSB hat gesagt.:


> Morgen Leute,
> [...]
> Was bedeuten die Wörter Aggregation / Komposition genau?
> [...]



Im Kontext der OOP sind Aggregation und Komposition beides "Assoziationen", die Komposition ist die stärkere Form der beiden und beide drücken Objektzusammensetzungen (Teil-Ganzes-Beziehungen) aus. Ihre Definition wird meist über die "Lebensdauer" der beteiligten Objekte festgemacht.

Bezogen auf dein Autobeispiel und Komposition bedeutet das wenn du eine Instanz des Autos löscht fliegt auch der Motor mit ins Nirvana, d.h. er würde nicht in einem anderen Auto wiederverwendet werden können. Um diese "Lebensdauer" sicherzustellen dürfte keine "Referenz" vom Motor über die Autogrenze nach aussen gelangen, was wiederrum bedeuten würde das alle Operationen die den Motor betreffen nur über die Auto-Schnittstelle erfolgen sollten.


----------

