Introduction
Nested classes in Kotlin are like small boxes inside a bigger box. They work on their own and don't need the bigger box to do their job.
When you want to group related classes together but keep them separate in behavior.
When the inner class does not need to access the outer class's properties or functions.
When you want to organize code clearly without mixing responsibilities.
When you want to avoid accidental access to outer class members from the nested class.