Effective Kotlin - Data Modifer
2021. 9. 30. 11:01ㆍComputer
Data Modifier (데이터 수정자)
Destructuring Declarations 개념으로 구현이 되어 있다.
data class Player {
val name: String,
val age: Int,
}
사용하는 이유
아래의 기능들을 제공한다.
toString
@NotNull
public String toString() {
return "Player(name=" + this.name + ", age=" + this.age + ")";
}
componentN ( 사용시 주의할 점, 중간에 Player 클래스에 새로운 속성을 부여할 떄, 맨뒤에서부터 하나씩 붙여나가자, 안그러면 N 의 순서가 바뀌므로 문제가 생길 수 있다. )
val (name, age) = Player("홍길동", 20)
copyPlayer.text = name
copyPlayer.text = age.toString()
equals and hashCode
모든 기본 생성자의 속성이 동일한지 확인 (값이 같은지 확인) 하고 일관된 해시값을 같는지 확인.
단, === 비교시에는 메모리 주소가 같은지 확인한다.
재정의가 가능하지만, 이 부분은 주의해서 사용해야한다.
copy
동명이인의 플레이어 생성시 코드의 양을 줄일 수 있다.
val playerA = Player("홍길동", 20)
val playerB = Player(userInfo.name, 13)
요약
- Data Modifier 는 여러 유용한 기능을 제공합니다. ( toString, componentN, equals, hashCode , copy )
- Data class 구조화할 경우 변수 이름을 매개변수와 일치시켜서 사용하세요.
반응형
'Computer' 카테고리의 다른 글
Effective Kotlin - Minimize elements visibility (0) | 2021.10.14 |
---|---|
Effective Kotlin - Respect the contract of compareTo (0) | 2021.10.07 |
Effective Kotlin - Properties should represent state, not behavior (0) | 2021.08.19 |
Effective Kotlin - 변수의 범위 최소화 (0) | 2021.07.22 |
[Unity] KaKao Plugin 만들기 (0) | 2017.02.24 |