data class

    [Kotlin] @JvmRecord 사용해 자바의 record 클래스 정의하기

    자바의 Record 클래스 Java 14부터 Record라 불리는 데이터를 저장하는 클래스가 도입됐다. 이 Record는 코틀린의 Data class와 매우 유사한 기능으로, 'record' 키워드로 선언된 클래스는 equals, hashCode, toString 함수를 자동으로 생성한다. 예를 들어 다음과 같이 생성된 record 클래스 Blog가 있다고 해보자. *아래 코드는 Java이다. public record Blog(String name, int age) { } 이 Blog 클래스는 이름(name)과 생긴 후 지난 날짜(age)를 인자로 받는다. 이제 이 record 클래스가 어떻게 동작하는지 확인하기 위해 다음과 같이 코드를 만들어보자. public class Main { public st..

    Kotlin data class를 이용하여 equals, hashCode, toString 자동으로 생성하기 + copy 메서드 이용하여 객체 복사하기

    목적 Data Class를 이해한다. 개요 Kotlin에서는 모든 클래스는 Any 클래스를 상속 받는다. Any 클래스에는 equals, hashCode, toString 가 정의되어 있고, 따라서 Kotlin의 클래스는 위 메서드들을 재정의하여 사용해야 한다. 만약 이 메서드들이 어떤 역할을 하는지 모른다면 먼저 아래 글을 보고 오도록 하자. Class에 정의되어야 하는 equals, hashCode, toString 살펴보기 목적 equals, hashCode, toString 에 대해 안다. 클래스에 정의되어야 하는 메서드 Java에서 클래스는 Object Class를 상속 받고, Object Class에 정의된 toString(), hashCode(), equals(other: Object) 메서..