Classe abstraite : une maison à moitié construite – certains murs existent avec un vrai code, certaines pièces ne sont marquées que comme abstraites jusqu'à ce qu'une sous-classe les termine. Interface : une liste de contrôle de comportements – toujours pas de champs, sauf si vous trichez avec les propriétés des interfaces sur les cibles JVM les plus récentes. Dans Kotlin, vous vous appuierez souvent sur des interfaces + des classes de données + des types scellés ; les classes abstraites apparaissent lorsque vous souhaitez vraiment une logique avec état partagée dans une base.
Croquis de classe abstrait