Welcome! Everything is fine.

[Kotlin] 데이터 클래스(Data Class)란 무엇인가요? 본문

Kotlin

[Kotlin] 데이터 클래스(Data Class)란 무엇인가요?

개발곰발 2024. 11. 15.
728x90

 

 

✔️ 데이터 클래스(Data Class) : 데이터를 저장하는 용도로 주로 사용되는 클래스

  • data 키워드로 선언
  • 자동으로 equals(), hashCode(), toString(), copy()와 같은 메서드를 생성
    • equals(): 객체의 값 비교를 위한 메서드
    • hashCode(): 객체의 해시 코드를 반환
    • toString(): 객체의 내용을 문자열로 표현
    • copy(): 객체의 복사를 위한 메서드
    • componentN(): 객체의 프로퍼티를 반환하는 메서드(구조 분해 선언에서 사용)
  • 주 생성자 필수, 최소 하나 이상의 프로퍼티 필요
data class User(val name: String, val age: Int)

fun main() {
    val user1 = User("Alice", 25)
    val user2 = User("Alice", 25)

    println(user1) // 출력: User(name=Alice, age=25)
    println(user1 == user2) // 출력: true (equals()를 통한 값 비교)
    
    val user3 = user1.copy(age = 30)
    println(user3) // 출력: User(name=Alice, age=30)

    val (name, age) = user1 // 구조 분해 선언
    println("Name: $name, Age: $age") // 출력: Name: Alice, Age: 25
}