Когда стоит использовать interface

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

Ответ

Используйте интерфейсы, когда нужно определить контракт для классов без привязки к их реализации. Основные случаи:

  1. Множественное наследование – класс может реализовать несколько интерфейсов.
  2. Слабосвязанный код – например, колбэки или слушатели:
interface OnItemClickListener {
    fun onItemClick(position: Int)
}
  1. Тестирование – легко подменить реальную реализацию mock-объектом.
  2. API-контракты – когда разные команды работают над разными модулями.

Интерфейсы особенно полезны в архитектурных подходах типа Clean Architecture или MVP/MVVM для разделения слоёв.