Sobes.tech
Back to questions
Junior — Middle
89

Объясните концепцию Marker Interface и как она используется в программировании.

Answer from AI

sobes.tech AI

Marker Interface — это интерфейс без методов и полей, который служит для маркировки или обозначения класса определённым свойством или поведением. В программировании он используется для передачи метаданных о классе на этапе компиляции или выполнения.

Например, в Java интерфейс Serializable является маркерным: он не содержит методов, но его реализация говорит JVM, что объекты класса можно сериализовать.

Пример:

public interface Serializable {
    // Нет методов
}

public class User implements Serializable {
    private String name;
    private int age;
    // геттеры, сеттеры и т.д.
}

Использование Marker Interface позволяет фреймворкам или библиотекам проверять наличие интерфейса через instanceof и выполнять специальные действия (например, сериализацию, клонирование, безопасность).