[kotlin] 코틀린 데이터 클래스의 copy() 메서드 활용법

코틀린에서 데이터 클래스를 사용하면 손쉽게 불변(immutable) 객체를 만들 수 있습니다. 데이터 클래스를 생성한 후에는 해당 객체의 copy() 메서드를 사용하여 객체를 복사하고 필요한 속성을 업데이트할 수 있습니다. 이는 불변 객체를 유지하면서도 새로운 객체를 만들어야 하는 상황에서 유용하게 활용됩니다.

copy() 메서드의 구문

data class Person(val name: String, val age: Int)

val person = Person("Alice", 30)
val updatedPerson = person.copy(age = 35)

위의 예제에서 보듯이 copy() 메서드는 원본 객체를 기반으로 하여 지정된 속성을 변경한 새로운 객체를 반환합니다.

복사본 수정 예시

val person = Person("Bob", 25)
val updatedPerson = person.copy(name = "Bobby", age = 26)

위의 예시에서 볼 수 있듯이, copy() 메서드를 사용하여 객체의 여러 속성을 수정할 수 있습니다.

복사와 동시에 프로퍼티 수정

val person = Person("Chris", 40)
val updatedPerson = person.copy(age = person.age + 1)

여기서 볼 수 있든, copy() 메서드는 기존 객체의 속성을 바탕으로 새로운 객체를 생성하는데, 이때 새로운 객체의 속성은 변경이 가능합니다.

불변 객체와 함께 유연한 객체 복사

코틀린의 copy() 메서드를 활용하면 기존 객체의 불변성을 유지하면서도 손쉽게 새로운 객체를 생성하고 수정할 수 있습니다. 이는 프로그래밍을 할 때 발생하는 많은 상황에서 유용하게 활용될 수 있습니다.

참고 자료