data 클래스를 정의할 때는 data라는 키워드를 사용한다. data 키워드는 몇 가지 기능을 클래스에 추가하라고 코틀린에게 지시한다. 이때 모든 생성자 파라미터를 var나 val로 선언해야 한다.
DataClasses/Simple.kt
package dataclasses
import atomictest.eq
data class Simple(
val arg1: String,
var arg2: Int
)
fun main() {
val s1 = Simple("Hi", 29)
val s2 = Simple("Hi", 29)
s1 eq "Simple(arg1=Hi, arg2=29)" // [1]
s1 eq s2
}