data 2

[Kotlin] 구조 분해 선언과 component 함수

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 이전에 data class 를 다룬 글에서 간단히 구조 분해 선언(destructuring declaration) 을 살펴보았다 구조 분해를 사용하면 복합적인 값을 분해해서 여러 다른 변수를 한꺼번에 초기화할 수 있다. 구조 분해를 사용하는 방법 val p = Point(10, 20) val (x, y) = p assert(x == 10 && y == 20) 구조 분해 선언은 일반 변수 선언과 비슷하지만 `=` 의 좌변에 여러 변수를 괄호로 묶는다. 구조 분해 선언은 내부적으로 관례를 사용 내부에서 구조 분해 선언은 관례를 사용한다. 구조 분해 선언의 각 변수를 초기화하기 위해 `compo..

Kotlin 2024.01.24

[Kotlin] data class: toString, equals, hashCode, copy, componentN

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 어떤 클래스가 데이터를 저장하는 역할만을 수행한다면 `toStirng`, `equals`, `hashCode` 를 반드시 오버라이드 해야 한다. 다행히, 여러 IDE 에서는 자동으로 그런 메서드를 정의해주는 기능이 있다. 그런데 코틀린에서는 더 편하다. data class(데이터 클래스) `data` 라는 변경자를 클래스 앞에 붙이면 필요한 메서드를 컴파일러가 자동으로 만들어준다. `data` 변경자가 붙은 클래스를 데이터 클래스라고 한다. `Client` 를 데이터 클래스로 data class Client(val name: String, val postalCode: Int) 이제 `Cli..

Kotlin 2024.01.10