728x90
데이터 클래스 (Data Class)
- DTO (Data Transfer Object) : 데이터 전달을 위한 객체
- 코틀린에서는 DTO를 간단하게 만들 수 있도록 데이터를 홀드하는 data class 를 제공한다.
- data class는 내부적으로 hasCode(), equals(), toString(), 게터/세터 등을 자동으로 생성해준다.
data class Person(var name : String, var age : Int)//데이터 클래스
class Person2(var name:String, var age : Int)//일반 클래스
fun main() {
println("데이터 클래스 : ${Person("park",10).hashCode()}")
println("데이터 클래스 : ${Person("park",10).hashCode()}")
println("일반 클래스 : ${Person2("park",10).hashCode()}")
println("일반 클래스 : ${Person2("park",10).hashCode()}")
println(Person("park",10) == Person("park",10))
println(Person2("park",10) == Person2("park",10))
println(Person("park",10).toString())
println(Person2("park",10).toString())
/* 결과
데이터 클래스 : 106436960
데이터 클래스 : 106436960
일반 클래스 : 1627674070
일반 클래스 : 1360875712
true
false
Person(name=park, age=10)
Person2@60e53b93
*/
}
728x90
'Kotlin' 카테고리의 다른 글
[코틀린] 열거형 클래스 (Enumeration Class) (0) | 2020.09.22 |
---|---|
[코틀린] 실드 클래스 (Sealed Class) (0) | 2020.09.22 |
[코틀린] Companion Object, object 선언 (0) | 2020.09.19 |
[코틀린] 위임 (Delegation) (0) | 2020.09.19 |
[코틀린] 프로퍼티의 오버라이딩 (0) | 2020.09.19 |
댓글