Sobes.tech
Back to questions
Senior
12

Зачем нужен дефолтный метод в интерфейсе?

Companies where asked
ИП Ганус Александр Андреевич

Answer from AI

sobes.tech AI

Дефолтный метод в интерфейсе нужен для того, чтобы предоставить реализацию метода прямо в интерфейсе, не заставляя все классы, которые его реализуют, обязательно переопределять этот метод.

Это позволяет:

  • Добавлять новые методы в интерфейс без нарушения существующих реализаций.
  • Предоставлять стандартное поведение, которое можно переопределить при необходимости.

Например, в Java 8 дефолтные методы позволяют расширять интерфейсы, не ломая обратную совместимость.

Пример на Java:

public interface Logger {
    void log(String message);

    default void logError(String error) {
        log("ERROR: " + error);
    }
}

Здесь logError имеет дефолтную реализацию, и классы, реализующие Logger, могут не писать этот метод, если стандартное поведение их устраивает.