Object-oriented programming · interview question
Why might you choose to return a copy of a list in a getter method?
Multiple choiceMediumchapter-3-curatedpremiumoopinvariants-and-validation
class Product {
private List<String> tags = new ArrayList<>();
public List<String> getTags() {
return new ArrayList<>(tags);
}
}Answer and explanation
Correct answer
A. To protect the internal list from modification.
Why
Returning a copy of a list prevents external modification of the original list, preserving encapsulation and protecting the object's state.
Test yourself on Object-oriented programming
A free test with instant, explained results. No account needed.
More Object-oriented programming questions
- In a typical e-commerce application, how should a CartItem object access the price of a Product?
- What design principle is violated if a Cart class directly manipulates a Product's price?
- Why might CartItem hold a Product reference instead of copying every product field into loose variables?
- In the context of e-commerce, which class is most likely to contain a method called calculateTotalPrice()?
- What access modifier should be used for fields to adhere to encapsulation principles?
- How would you explain a key reason to use encapsulation when designing an object with multiple responsibilities in an…