Вопросы к Поиску с Алисой
Генерация функций toString(), equals() и hashCode() для data-классов в Kotlin происходит автоматически при компиляции класса, который определён с модификатором data. metanit.com
Компилятор добавляет в класс функции с определённой реализацией, которая учитывает свойства класса, определённые в первичном конструкторе. metanit.com
Функция toString() возвращает строку со всеми значениями свойств на основе конструктора. developer.alexanderklimov.ru Если свойства определены внутри тела класса (не в конструкторе), то toString() их не включает. www.geeksforgeeks.org
Функция equals() возвращает true, если ссылки указывают на один объект, а также если объекты имеют одинаковые значения свойств, определённых в конструкторе. developer.alexanderklimov.ru Функция работает аналогично оператору «двойное равно» (==), но по-разному для значений Float и Double. www.geeksforgeeks.org
Функция hashCode() возвращает для двух объектов данных одно и то же значение, если они считаются равными (имеют одинаковые значения свойств). developer.alexanderklimov.ru
Чтобы класс мог быть определён как data-класс, он должен соответствовать ряду условий: metanit.com