Kotlin 객체 대상 데이터 클래스(Data Classes)
data
키워드로 표시됩니다.data class User(val name: String, val age: Int)
컴파일러는 마스터에 선언된 모든 속성에 대해 다음 멤버를 자동으로 생성합니다.
생성된 코드의 일관성 및 유효성을 보장하려면 데이터 클래스가 다음 요구 사항을 충족해야 합니다.
val
또는 var
로 표시해야 한다JVM에서 생성된 클래스에 매개 변수가 없는 구조 함수가 필요한 경우 모든 속성에 대한 기본값을 지정해야 합니다.
data class User(val name: String = "", val age: Int = 0)
복제(Copying)
일반적으로 우리는 대상을 복제하고 일부 속성을 바꾸어야 하지만, 다른 속성은 변하지 않는다.이것이 바로 생성된copy() 함수의 작용이다.이러한 사용자 클래스의 구현은 다음과 같습니다.
fun copy(name: String = this.name, age: Int = this.age) = User(name, age)
우리는 이렇게 호출할 수 있다.
val jack = User(name = "Jack", age = 1)
val olderJack = jack.copy(age = 2)
데이터 클래스 및 분해 선언(Data Classes and Destructuring Declarations)
데이터 클래스에서 자동으로 생성되는 어셈블리 함수를 사용하여 선언을 빌드할 수 있습니다.
val jane = User("Jane", 35)
val (name, age) = jane
println("$name, $age years of age") // prints "Jane, 35 years of age"
표준 데이터 클래스(Standard Data Classes)
표준 라이브러리는
Pair
류와 Triple
류를 제공했다.대부분의 경우 데이터 클래스를 명명하는 것은 속성에 의미 있는 이름을 제공함으로써 코드를 더욱 쉽게 읽을 수 있기 때문에 더 좋은 디자인 선택이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.