Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 어떤 클래스가 데이터를 저장하는 역할만을 수행한다면 `toStirng`, `equals`, `hashCode` 를 반드시 오버라이드 해야 한다. 다행히, 여러 IDE 에서는 자동으로 그런 메서드를 정의해주는 기능이 있다. 그런데 코틀린에서는 더 편하다. data class(데이터 클래스) `data` 라는 변경자를 클래스 앞에 붙이면 필요한 메서드를 컴파일러가 자동으로 만들어준다. `data` 변경자가 붙은 클래스를 데이터 클래스라고 한다. `Client` 를 데이터 클래스로 data class Client(val name: String, val postalCode: Int) 이제 `Cli..