Что такое интерфейс в ООП

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

Ответ

Интерфейс в ООП — это контракт, который определяет набор методов (без реализации), которые должен реализовать класс. Он описывает что должно быть сделано, но не как.

Особенности:

  • Не содержит полей (кроме констант)
  • Все методы по умолчанию public abstract
  • Поддержка множественного наследования (класс может реализовывать несколько интерфейсов)

Пример на Kotlin:

interface Drawable {
    fun draw()  // абстрактный метод
}

class Circle : Drawable {
    override fun draw() {
        println("Drawing a circle")
    }
}

Использование:

  • Для достижения полиморфизма
  • Для слабой связанности компонентов
  • Вместо множественного наследования классов

Видео-ответы