코틀린 data class: 실무에서 어디까지 쓸까
Kotlin data class는 짧게 쓰기 편한 문법처럼 보이지만, 실제로는 equals, copy, componentN이 함께 움직이는 값 중심 설계 도구에 가깝습니다. 이 글에서는 query 객체, UI state, mutable list 예제로 data class가 어디까지 편하고 어디서부터 조심해야 하는지 실무 기준으로 정리합니다.
Kotlin data class는 짧게 쓰기 편한 문법처럼 보이지만, 실제로는 equals, copy, componentN이 함께 움직이는 값 중심 설계 도구에 가깝습니다. 이 글에서는 query 객체, UI state, mutable list 예제로 data class가 어디까지 편하고 어디서부터 조심해야 하는지 실무 기준으로 정리합니다.
객체를 단순 데이터 통으로만 보면 왜 서비스에 로직이 몰리고 설계가 어려워지는지, DTO와 도메인 객체 차이와 함께 쉽게 정리합니다.
코틀린 data class는 문법이 간단해서 자주 쓰이지만, 자동 생성되는 함수가 정확히 무엇인지, copy가 얕은 복사인지, DTO와 Entity에 똑같이 써도 되는지는 따로 이해해야 합니다. 이 글에서는 data class의 선언 규칙, equals/hashCode, copy, 구조 분해, 불변성 오해, sealed class·value class와의 선택 기준까지 한 번에 정리합니다.