This post is dedicated to 바람, who is currently confused with the terms that I used on March 17th's post(
How is Aggregation and Composition different?) and which Wikipedia uses.
I am assuming that all the confusion started from the word
object association which is a term used in Object-Oriented programming paradigm. According to Wikipedia,
object association is described as a concept of building objects from other objects [1]. My understanding is that this word has nothing to do with the term
association which describes the relationship between objects. The term
association is used to define the relationship among objects when their scope does not overlap from one another. The concept of
object association is also used to define the relationship among objects, but only when their scope is nested inside one another.
Recall that
association is also called a "knows-a relationship" while
aggregation and
composition is called a "has-a relationship". I personally think that these simplified terms are descriptive enough for everyone to understand this topic better.
If I would elaborate more on association, association provides a mechanism to an object to interact between other objects within its own scope. If my explanation isn't clear for you and wish for more information, refer to [2]. For
aggreation and
composition, refer to [3].
Basically, my point here is that not to be confused with
association among objects and the
concept of object association.
References[1] http://en.wikipedia.org/wiki/Object_association
[2] http://en.wikipedia.org/wiki/Association_%28object-oriented_programming%29
[3] http://en.wikipedia.org/wiki/Object_composition#Aggregation