When should behavior be on the object itself?
What are the consequences of not using instance methods?
When should composition be preferred over inheritance?
Why does interfaces in polymorphism matter in this design?
How can the 'is-a' relationship influence class design in Java?
What are some pitfalls of subclassing in Java?
Why put behavior like `lineTotal()` on `CartItem`?
How does the 'is-a' relationship guide inheritance in Java?
What does subclassing mean in Java?
How can visibility affect inheritance in Java?