Kotlin에서 데이터 클래스는 데이터를 보유하고 다루는 데 유용한 기능을 제공합니다. 데이터 클래스를 사용하면 객체의 속성을 쉽게 정의할 수 있고, 다양한 유틸리티 함수를 자동으로 생성할 수 있습니다.
이 문서에서는 Kotlin 데이터 클래스의 사용법에 대해 알아보겠습니다.
데이터 클래스 정의하기
데이터 클래스를 정의하려면 클래스 선언 앞에 data
키워드를 추가하고, 속성을 정의하면 됩니다.
data class User(val name: String, val age: Int)
위의 예시에서 User
데이터 클래스는 name
과 age
라는 두 개의 속성을 가지고 있습니다.
데이터 클래스의 기능
데이터 클래스를 사용하면 컴파일러가 아래와 같은 유틸리티 함수를 자동으로 생성합니다.
equals()
: 객체의 내용이 같은지 비교hashCode()
: 객체의 해시코드 생성toString()
: 객체를 문자열로 변환componentN()
: N 번째 속성에 접근하는 함수 (예:component1()
,component2()
)
이 함수들을 직접 구현할 필요 없이 바로 사용할 수 있어 편리합니다.
복사 생성
데이터 클래스의 복사 생성 기능을 이용하면, 기존 객체와 동일한 내용을 가지는 새로운 객체를 생성할 수 있습니다.
val user = User("Alice", 25)
val olderUser = user.copy(age = 30)
위의 예시에서 olderUser
는 user
와 동일한 이름을 가지고 있지만 나이가 30으로 수정된 새로운 객체입니다.
해체 선언
데이터 클래스에서는 객체의 속성 값을 한 번에 여러 변수에 할당할 수 있는 해체 선언을 사용할 수 있습니다.
val (name, age) = user
name
변수에는 user
의 name
속성 값이, age
변수에는 user
의 age
속성 값이 각각 할당됩니다.
데이터 클래스를 사용하면 코드를 간결하게 작성할 수 있고, 불필요한 코드를 줄일 수 있습니다.
결론
데이터 클래스는 Kotlin에서 데이터를 다루는 데 매우 편리한 기능을 제공합니다. 간결하고 효율적인 코드를 작성하는 데 유용하게 활용될 수 있습니다.
더 많은 정보를 원하신다면 Kotlin 공식 문서를 참고해주시기 바랍니다.