[Effective Kotlin] 아이템 37. 데이터 집합표현에 data한정자를 사용하라

0

데이터들을 한꺼번에 전달할때는 data class를 사용하면 아래의 함수를 지원받을수 있다.

  • toString
  • equals와 hashcode
  • copy
  • compoentN

튜플 대신 데이터 클래스 사용하기

PairTriple은 마지막 남은 튜플이다.

이것을 사용하는 예는 딱 두가지이다.

  • 값에 간단하게 이름을 붙일때
val (description, color) = when{
	degree < 5 -> "cold" to Color.BLUE
    else -> "hot" to Color.RED
}
  • 미리 알수 없는 집합을 표현할때
val (odd, even) - number.pratition{it % 2 = 1}
val map = mapOf(1 to "San Francisco" , 2 to "Amsterdam")

이경우들을 제외하면 무조건 데이터 클래스를 사용하는것이 좋다.

data class를 사용할 경우

  • 함수의 리턴타입이 명확해진다.

  • 리턴타입이 더 짧아지며, 전달하기 쉬워진다.

  • 다른이름을 활용해 변수를 해제하면 경고가 출력된다.

profile
쉽게 가르칠수 있도록 노력하자

0개의 댓글