본문 바로가기
Kotlin

[코틀린] 데이터 클래스

by Sky Titan 2020. 9. 21.
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

댓글