Understanding Abstraction in Kotlin OOP | CodeSignal Learn