curriculum/challenges/english/blocks/learn-how-to-clarify-misunderstandings/67e947be57e83900d14578f7.md
Read the text and answer the question below.
After his conversation with Sophie, Mark decided to write to his mentor David to reflect on what he had learned.
Hi David,
I just wanted to share a quick update. After sitting in on a recent code review, I finally feel like I'm starting to understand some key programming concepts.
Sophie explained terms like polymorphism, encapsulation, inheritance, and abstraction. For example, I saw how encapsulation helps with keeping details hidden and making the code easier to work with. I also noticed polymorphism in a method that changes behavior depending on the input.
I tried writing a small class using these ideas — focusing on clean code structure, reusing properties and methods, and simplifying functionality.
Does it mean I'm on the right track if I can explain these terms and apply them in a simple project?
Thanks for explaining these things over time. I appreciate the explanations and all your support.
Best,
Mark
Which concept does Mark say is about hiding details?
Polymorphism
Polymorphism is about changing behavior based on context, not hiding internal code.
Inheritance
Inheritance is about reusing properties and methods, not hiding them.
Encapsulation
Abstraction
Abstraction also hides complexity, but in this sentence Mark is specifically referring to another term.
3
To choose the right answer, focus on the sentence where Mark talks about keeping details hidden. He describes this as a benefit of encapsulation, so that's the concept he is referring to.