Многие думают, что record - только для хранения данных. Но на практике это полноценный тип, в котором можно добавить бизнес-логику. Что можно внутри record: * конструкторы с валидацией * instance-методы * static-методы * фабричные методы * нормализацию данных Пример реального использования: public record Email(String address) { // Валидация при создании public Email { if (address == null || !address.matches("^[\\w-.]+@[\\w-]+\\.[\\w]{2,4}$")) { throw new IllegalArgumentException("Invalid email: " + address); } } // Бизнес-логика public String domain() { return address.substring(address.indexOf("@") + 1); } // Фабричный метод public static Email from(String raw) { return new Email(raw.trim().toLowerCase()); } } Почему это мощно: * неизменяемость по умолчанию * вся логика рядом с данными * меньше boilerplate * безопасное создание объектов * идеальный формат для Value Objects (DDD) Record - это не “структура”. Это компактный способ писать чистые доменные модели. Если используеш