In OOP, composition is best described as:
- When one class includes an object of another class as a member variable
- Reusing methods in multiple classes through inheritance
- Defining abstract classes to be implemented
- A way to define "is-a" relationships between classes