На этом шаге мы рассмотрим особенности реализации этой функции.
Кроме более удобных реализаций функций из Any, классы данных также имеют функцию, которая позволяет легко создать копию объекта.
Например, вы хотите создать экземпляр Player, который обладает такими же свойствами, за исключением isImmortal. Если бы Player был классом данных, тогда скопировать экземпляр Player можно было бы простым вызовом copy() с аргументами для всех свойств, которые вы хотите изменить.
val mortalPlayer = player.copy(isImmortal=false)
Классы данных избавят вас от необходимости реализовать функцию copy() самостоятельно.
На следующем шаге мы рассмотрим деструктуризацию объявлений.