-
37장 - 데이터 집합 표현에 data 한정자를 사용하라Kotlin/Effective Kotlin 요약 2023. 3. 26. 00:01반응형
데이터들을 전달해야 할 때 일반적으로 data 한정자를 활용합니다.
다음과 같은 몇 가지 함수가 자동으로 생성됩니다.
- toString
- equals와 hashCode
- copy
- componentN
생소한 componentN에 대해서만 알아보면 다음과 같이 가능합니다.
data class Player( val id: Int, val name: String, val pts: Int, ) fun main() { val player = Player(0, "jun", 1) val (id, name, pts) = player println(pts) //1 출력 }
튜플 대신 데이터 클래스 활용하기
여기서 튜플이란 Pair, Triple으로 코틀린에서 지원합니다.
하지만 튜플을 사용하면 가독성이 매우 떨어지게 됩니다.
예를 들어 전체이름을 성(surname)과 이름(name)으로 분할할 수 있습니다.
Pair <String, String>을 활용하면 이것이 전체 이름을 나타낸다는 것을 인지하기 어렵습니다.
데이터 클래스를 만들고 사용하는 것이 번거로울 수 있습니다.
하지만 읽기 쉬운 함수를 만들 수 있습니다.
'Kotlin > Effective Kotlin 요약' 카테고리의 다른 글
39장 - 태그 클래스보다는 클래스 계층을 사용하라 (0) 2023.03.28 38장 - 연산 또는 액션을 전달할 때는 인터페이스 대신 함수 타입을 사용하라 (0) 2023.03.27 36장 - 상속보다는 컴포지션을 사용하라 (0) 2023.03.25 35장 - 복잡한 객체를 생성하기 위한 DSL을 정의하라 (0) 2023.03.21 34장 - 기본 생성자에 이름 있는 옵션 아규먼트를 사용하라 (0) 2023.03.20