Object-oriented programming · interview question
Why is returning a raw internal List<CartItem> from Cart risky?
Multiple choiceHardchapter-3-curatedpremiumoopdefensive-copying
Answer and explanation
Correct answer
B. Outside code could mutate the internal collection without the cart approving the change
Why
Even with private fields, returning the raw mutable list lets callers modify the cart's internal structure directly. Defensive copying or unmodifiable views keep that structure under the object's control.
Test yourself on Object-oriented programming
A free test with instant, explained results. No account needed.
More Object-oriented programming questions
- Why does declaring a method as 'final' in a superclass change runtime behavior?
- Why might a developer choose to use a 'restock' method rather than a public setter for inventory?
- How do unmodifiable views differ from defensive copies in protecting internal collections?
- In an e-commerce application, what is the advantage of using a 'processOrder' method in a Product class?
- Which statement is true about interfaces in Java?
- Why are public mutable fields risky in a store model?