코틀린 (Kotlin) 데이터 클래스 정리
데이터 클래스 data class 는 toString , equals , hashcode 함수를 자동 생성 해 줍니다. 그래서 자바와 다르게 코틀린에서 == 은 equals 를 호출합니다. 자바처럼 참조를 호출하려면 === 을 사용합니다. data class Client( val name : String, val code : String) 데이터 클래스 - copy() 함수 제공 데이터 클래스는 copy() 함수를 제공합니다. 코틀린에서 프로퍼티는 val 또는 var 도 가능합니다. 그러나 데이터 클래스의 모든 프로퍼티를 읽기 전용(val)으로 만들어 불변 클래스로 만들기를 권장합니다. 다중 스레드일때 값이 변경되어 동기화할 필요가 줄어들도록 하기 위해서입니다. 객체를 메모리에서 값을 변경하는 것보다 복사본을 만드는 것이 더 좋습니다. public final class Client { public final Client copy (@NotNull String name, @NotNull String code) { return new Client(name, code) //새로운 객체를 생성해서 복사 } } //사용 val client = Client( "zerog" , "1111" ) val clientCopy = client. copy ( "zerog2" , "2222" ) //복사 *개인적으로 코틀린을 공부하면서 정리한 자료입니다. 수정 사항 및 이슈가 있는 경우 메일 부탁드립니다.