Composition refers to a design pattern in object-oriented programming where one object, A, has a reference to another object, B. In this pattern, only object A has a reference to object B, and it also determines the lifetime of object B. This means that if object A is destroyed or goes out of scope, object B will also be destroyed. Composition is commonly used to create complex objects by combining simpler objects, allowing for code reuse and modularity.