Exploring Abstract Classes, Interfaces, and Companion Objects in Kotlin | CodeSignal Learn