class์ data class์ ์ฐจ์ด์
=> data class๋ ๋ฉ์๋๊ฐ ์๋์ผ๋ก ์์ฑ๋๋ค.
- data class๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก getter(), setter(), equals(), hashCode(), toString() ๋ฉ์๋๋ฅผ ์์ฑํด์ค๋ค.
data class๋ ์ฃผ๋ก DTO(Data Transfer Object)๋ฅผ ์ํด ์ฌ์ฉ๋๋ค.
fun main() {
val p1: Person = Person("๊ฐ์๋", 20)
println("Person name is ${p1.name}, age is ${p1.age}")
val p2: Person2 = Person2("๊ฐ์๋", 20)
println("Person name is ${p1.name}, age is ${p1.age}")
}
class Person(val name: String, val age: Int) //์์ฑ์ ๊ธฐ๋ณธ์ผ๋ก ๋ง๋ค์ด์ง
data class Person2(val name: String, val age: Int) //์์ฑ์ ๊ธฐ๋ณธ์ผ๋ก ๋ง๋ค์ด์ง
/**
* class์ data class์ ์ฐจ์ด์ ?
*
* data class๋ก ๋ง๋ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก getter, setter, toString, equals, hashCode, component ... ํจ์๋ค์ด ์๋์ผ๋ก ์์ฑ๋จ.
* setter์ ๊ฒฝ์ฐ ๋ฉค๋ฒ๋ณ์๋ฅผ val๋ก ์ค์ ํ๋ฉด ์์ฑ์ด ์๋๊ณ , var๋ก ์ค์ ํด์ผ ์์ฑ์ด ๋จ!
**/
enum class Color {
RED, //์์๊ฐ
GREEN,
BLUE,
}
'Web > Kotlin' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin] if / when (0) | 2023.08.20 |
---|---|
[Kotlin] ? / ?. / ?: / !!. (0) | 2023.08.20 |
[Kotlin] ๋ณ์ ์ ์ธ ์ var / val ์ฐจ์ด (0) | 2023.08.18 |