[클라이언트]/[Android Kotlin]
[Kotlin / 코틀린] Setter
Hevton
2023. 3. 29. 16:59
반응형
코틀린 클래스는 기본적으로 Setter를 제공해준다.
이를 캡슐화해주는 것이 중요하다.
1. Backing Property
class User(
private var _name: String
) {
val name: String get() = this._name
}
2. Custom
class User(
var name: String
) {
fun updateName(name: String) {
this.name = name
}
}
3. data class
근데 JPA에서는 data class를 사용하는게 좋지 않다는 것을 주의한다.
= Entity class에서는 data class를 사용하는 것이 좋지 않다.
이유 : equals, hashCode, toString 모두 JPA Entity와는 100% 어울리지 않는 메소드이기 때문!
이것으로 인해, Entity 간의 무한 참조가 발생할 수도 있다.
data class는 DTO에서 사용하기엔 적절할 수 있지만, Entity에서 사용하기엔 다소 부적절할 수 있다.
반응형