Introduction
In Kotlin, classes and methods are closed by default. You use open to allow other classes to change or add behavior by inheriting or overriding.
When you want to create a base class that others can build upon.
When you want to change how a method works in a child class.
When you want to add new features by extending existing classes.
When you want to reuse code but customize some parts.
When you want to design flexible and reusable software.