Data Classes Reference 읽기
(https://kotlinlang.org/docs/reference/data-classes.html 읽으면서 정리)
Data를 보관하기 위해서 class를 만든다. 이 class의 함수는 종종 데이터로부터 기계적으로 파생된다. 코틀린에서는 이를 data class
라고 하고 data
라는 마크를 붙인다.
data class User(
val name: String,
val age: Int
)
컴파일러에서 자동으로 다음과 같은 멤버를 추가한다.
- equals(), hashCode()
- toString() - "User(name=John, age=42)"
- componentN() 함수 (프로퍼티매핑)
- copy()
생성된 코드의 일관성과 의미있는 동작을 위해 다음과 같은 조건을 충족해야 한다.
- primary constructor는 하나 이상의 파라미터가 있어야 한다.
- 모든 primary constructor 파라미터는 val, var로 마트해야 한다.
- data class는 abstract, open, sealed, inner가 될 수 없다.
data class User(val name: String = "", val age: Int = 0)
data class Person(val name: String) {
var age: Int = 0
}
문서가 길어서 정리할 게 많을 줄 알았는데 그닥 없다. 끝.
반응형