Kotlin Data Class
Kotlin Data Class DataClass는 매개체의 데이터를 관리하는 용도로 사용하느 클래스이다. abstract, open, sealed, inner 클래스로 정의할 수 없다. 반드시 주 생성자를 가지고 있어야 한다. DataClass 를 사용하면 몇가지 메소드를 기본적으로 추가해서 사용상의 용이하게 할 수 있다. Data Class의 메서드 equals : 객체가 가지고 있는 변수를 모두 비교하는 메서드 hashCode : 객체를 구분ㄴ하기 위한 고유한 정수값 copy : 객체를 복제하는 메서드 toString : 객체가 가지고 있는 변수의 값을 출력 componentN : 객체 분해 이러한 메서드들이 자동으로 오버라이딩되어서 추가된다. data class TestClass { } data class는 위와 같이 class 앞에 data를 붙여준다. data class는 무조건 주 생성자가 있어야 하므로 없으면 아래와 같은 에러가 발생한다. Kotlin: Data class must have at least one primary constructor parameter abstract data class TestClass2( var a1 :Int , var a2 :Int) { } open data class TestClass2( var a1 :Int , var a2 :Int) { } Kotlin: Modifier 'abstract' is incompatible with 'data' Kotlin: Modifier 'open' is incompatible with 'data' 또한, data class는 abstract, open 등의 추상크래스, 부모 클래스로 선언될 수 없다. Data Class 의 toString fun main () { var obj1 = TestClass1( 100 , 200 ) var obj2 = TestClass2( 100 , 200 )