Some real-world entities can change their forms. For example, water (on Earth as opposed to interstellar space) is naturally a liquid, but it changes to a solid when frozen, and it changes to a gas when heated to its boiling point. Insects such as butterflies that undergo metamorphosis are another example.
The ability to change form is known as polymorphism and is useful to model in a programming language. For example, code that draws arbitrary shapes can be expressed more concisely by introducing a single Shape ...