I have a doubt on implementing an aggregation relationship.
By definition an aggregation is strong type of association. In the definition there is no any indication about multiplicity of both association or aggregation. So according to that implementation (java code) of association and aggregation relationship should be same.
But in real world and examples give for these relationships, aggregation has always many (*) relationship at least in one side while association has always a one to one. My understanding according to definitions is an Association can be both O2O and O2M for an example "A class has a Teacher and A class has Many students", as well as Aggregation can be both both O2O and O2M ( one side is the aggregator ) for an example "Teacher is a part of Class and Students are part of Class". Here I gave the same example for both association and aggregation because If i hvn't not misunderstood, defining a relationship as an association or an aggregation is specific to domain or context.
Can someone please explain why all most all examples for aggregation indicate a many relationship (using a Collection like List, Map etc.. ) or is my understanding wrong?