Kotlin — это язык программирования со статической типизацией, который взяла на вооружение Google в ОС Android. Кроме того, это мультиплатформенный язык, позволяющий создавать приложения для macOS, Windows и iOS. Джош Скин, Дэвид Гринхол, Эндрю Бэйли на практических примерах познакомят вас с ключевыми концепциями Kotlin и фундаментальными API. Вы начнете с основных принципов и перейдете к расширенному использованию нетривиальных возможностей Kotlin, чтобы создавать надежные и эффективные приложения, а так же освоите среду разработки IntelliJ IDEA от JetBrains.
Учебник толковый. Но! Листинги нечитаемые. В разделе "Шрифтовые обозначения" указано: дописать код - выделено полужирным, удалить - зачеркнутый текст. В итоге видим: сплошной текст. Таблицы тоже аналогично выглядят! Рекомендую читать либо в бумаге, либо в pdf.
Хорошее правило: если нужна категория поведения или свойств, общая для объектов, но неудобная для наследования, используйте интерфейс. Если наследование имеет смысл, но вам не нужен конкретный класс-предок, используйте абстрактный класс. (А если вы хотите создавать экземпляр класса-предка, то лучше использовать обычный класс.)