Answer:
(c) that a variable of supertype can refer to a subtype object.
Explanation:
<em>Polymorphism</em>, in the real sense of it, means appearing in different forms. In the programming concept, the same object can hold different data types depending on its reference. A function can take different kinds of arguments at different situations and process them accordingly. So when a variable of supertype can refer to a subtype object, polymorphism is at work.
However, when data fields are declared private (as in option a), then we have <em>encapsulation</em>.
Also, when a class can extend another class (as in option b), we have <em>inheritance </em>in action.
When a class contains another class (as in option d), we have a <em>nested class .</em>