반응형

Kotlin 3

[Kotlin] Kotlin에서 레코드 선언하기(feat. Java의 record class)

🚀 개요레코드는 불변 데이터를 저장하기 위한 클래스이다.레코드는 고정된 값 집합인 레코드 구성 요소를 가지고 있다.간결한 구문을 가지고 있으며 보일러플레이트 코드를 작성하지 않아도 된다.데이터 클래스에 대한 레코드 선언만 지원한다.데이터 클래스는 equals(), hashCode(), toString() 메서드 구현을 제공한다. 🚀 선언 및 사용Kotlin에서 레코드를 선언하려면 @JvmRecord와 data class를 선언해줘야 한다.✅ 선언JvmRecord를 붙이면 Java에서 record처럼 인식하게 되며 record에서 생성되는 메서드들이 제공된다.데이터 클래스의 @JvmRecord는 주로 Java 코드를 Kotlin으로 변환할 때 API를 보존하는 데 필요하다.@JvmRecorddata c..

[Kotlin-ERROR] 코틀린 Mapstruct 특정 필드 Mapping 안되는 문제

❗문제 상황Mapper 테스트 중 isAgree 필드가 매핑이 안되는 문제가 있었다.그래서 구현체를 보니 이렇게 false로 초기화 되고 다른 필드들은 getter로 값을 가져와서 대입하는데isAgree는 그대로 false로 초기화된 값으로 생성자를 생성했다..! 이유를 찾아보니 MapStruct가 isAgree 값을 무시하고, 항상 false로 넣는 이유는Java에서 Kotlin의 isAgree에 대해 getter 메서드를 getIsAgree()로 찾으려고 하는데, Kotlin은 Java에서 isAgree()라는 메서드 이름을 생성하기 때문에MapStruct가 getter를 찾지 못해서 값을 무시하는 것이라고 했다.접미사가 is면 다 같은 현상이 발생한다... 🚀 해결 방법 gpt가 추천해준 해결 방..

Spring 2025.06.08
반응형