본문 바로가기
프로그래밍 놀이터/Kotlin, Coroutine

[Effective Kotlin] Item 37 : Use the data modifier to represent a bundle of data

by 돼지왕 왕돼지 2022. 5. 17.
반응형

이 글은 Effective Java 를 완독하고, Kotlin 을 상용으로 사용하는 개발자 입장에서
Effective Kotlin 글 중 새로운 내용, remind 할 필요 있는 부분, 핵심 내용 등만 추려 정리한 내용입니다.

 

#
data modifier 를 사용하면 primary constructor 에 대해 자동으로 아래의 작업이 구현된다.

  1. toString
  2. equals and hashCode
  3. copy
  4. componentN

 

#
destructoring 은 단점이 있다.
element 의 순서를 바꾸는 순간 사용하는 곳 모두 순서를 바꿔줘야 할 수 있다.
IDE 가 warning 을 표시하도록 하기 위해, 변수이름을 같이 해주는 것이 최소한의 대책일 수 있다.

 

 

Prefer data classes instead of tuples

#
Kotlin 의 tuple 들은 Serializable 하고 toString 이 구현된 generic data class 이다.
Kotlin 초반에는 tuple 들을 제공했지만, Pair, Triple 을 제외하고는 제거했다.
사실 Pair, Triple 도 없어져야 할 운명이었지만, 편리한 local 사용을 위해 남겨졌다.

 

 

 

반응형

댓글