Sobes.tech
Back to questions
Junior — Middle
75

Что означает термин интерфейс-маркер и как его используют в программировании?

Answer from AI

sobes.tech AI

Интерфейс-маркер — это интерфейс без методов, который служит для маркировки или идентификации класса как обладающего определённым свойством или поведением. В Java примером является интерфейс Serializable. Классы, реализующие такой интерфейс, сигнализируют системе, что они поддерживают определённую функциональность (например, могут быть сериализованы).

Использование интерфейсов-маркеров позволяет в рантайме проверять, поддерживает ли объект определённую характеристику, без необходимости добавлять методы. Это упрощает обработку объектов и позволяет применять специальные механизмы (например, сериализацию, клонирование).

Пример:

public interface Serializable {}

public class User implements Serializable {
    private String name;
    // ...
}

// Проверка
if (obj instanceof Serializable) {
    // объект можно сериализовать
}