This document discusses the differences between association, aggregation, and composition in object-oriented design. Association defines a relationship between objects without implications of ownership. Aggregation describes a "has-a" relationship where one object contains another as a component. Composition is a stronger form of aggregation where the contained object cannot exist without the container and the container controls the object's lifetime. Examples of each type of relationship are provided to illustrate the differences.