Your best friend is probably your closest associate.
People can have business associates, work associates, be involved in a large formal association (for example a political party) or a small association (for example a local sports club). Association means that a relationship can be identified between two entities (individuals or groups).
In object Oriented programming, an 'association' is a relationship that exists between two entities, just as it is for people. The only difference is that each involves an intermediate associative object. (Something that helps them meet and talk to each other).
Each entity is derived from a class object. In an association the first entity is called the key, the second is called the value.
What the association (relationship) between the objects does is entirely up to you...what do you want to program to achieve? In KNP associations are observable in the way that an animated character, placed into the level editor will register an event if it collides with another 'object'. The third party in this case is the programming that makes the Level Editor itself. That may all be a little abstract (but hey, so much of programming logic is!) but basically two objects have an association that is intermediated by the program in which they operate.
This is a useful function because it means that the behaviour can then be defined, eg: when you meet BOUNCE. Simple but effective.
VISIT AN AREA IN OzEdweb