Что такое модификатор abstract

«Что такое модификатор abstract» — вопрос из категории ООП, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Модификатор abstract в Kotlin/Java обозначает, что класс или член класса не имеет полной реализации и должен быть переопределён в наследниках.

Класс:

  • Нельзя создать экземпляр абстрактного класса.
  • Может содержать абстрактные и обычные методы/свойства.

Метод/свойство:

  • Не имеет тела (в Kotlin — = ... или { ... }).
  • Должен быть реализован в наследниках.
abstract class Animal {
    abstract fun makeSound() // абстрактный метод
    fun eat() { println("Eating...") } // обычный метод
}

class Dog : Animal() {
    override fun makeSound() { println("Bark!") } // реализация
}

Применение:

  • Для создания шаблонов (например, базовый ViewModel).
  • Для обязательного переопределения логики в наследниках.