Ключевые различия между обычными классами и record-классами в Java: неизменяемость, наследование, автогенерация equals/hashCode/toString, конструкторы и область применения. Разберём ограничения record, где они дают максимальную пользу (DTO, Value Object, ключи коллекций), когда предпочтителен обычный class, и какие ошибки допускают чаще всего.