Object Composition
Build bigger objects by combining smaller ones. Composition models has-a relations like a Car that has an Engine.
Definition
Composition means building a bigger object out of smaller objects it owns. It is a has-a relation: a Car has an Engine. This keeps classes small and focused, and the big object delegates work to its parts.
Benefits
Composition helps reuse: you can swap a part without changing the whole. It also improves testability because each part can be tested separately. Start simple: make one class depend on another through fields.
All lessons in this course
- this & toString/equals/hashCode
- Object Composition
- Modeling a Domain (UML→Code)