backend/Kotlin 3

[Kotlin] 코틀린 MapStruct 적용 및 사용하기 (feat.gradle)

서버 작업을 하면 빈번하게 필요한 Model과 DTO 변환을 필드 선언만 해놓으면 자동으로 변환해주는 MapStruct를 Java 작업할때 많이 사용하는데요. Kotlin에서도 적용해보았습니다. Kotlin MapStruct 적용 build.gradle.kts 파일에 추가해줍니다. // build.gradle.kts plugins { kotlin("kapt") version "1.7.10" } subprojects { apply(plugin = "kotlin-kapt") dependencies { implementation("org.mapstruct:mapstruct:1.5.2.Final") kapt("org.mapstruct:mapstruct-processor:1.5.2.Final") kaptTest(..

backend/Kotlin 2022.09.02

[Kotlin] 가변 컬렉션과 읽기 전용 컬렉션 구분하기

이펙티브 코틀린 책을 읽고 간단히 정리해본 것입니다. 아이템1. 가변성을 제한하라. - 가변 컬렉션과 읽기 전용 컬렉션 구분하기 중에서 읽기 전용 컬렉션 Iterable, Collection, Set, List 인터페이스 읽고 쓸수 있는 컬렉션 MutableIterable, MutableCollection, MutableSet, MutableList 인터페이스 - 읽기전용 인터페이스를 상속 받아, 변경을 위한 메서드만 추가. Iterable 과 MutableIterable 인터페이스 package kotlin.collections import kotlin.internal.PlatformDependent /** * Classes that inherit from this interface can be rep..

backend/Kotlin 2022.08.02

[Kotlin] 읽기 전용 프로퍼티 - val property

다음 내용은 이펙티브 코틀린 책을 읽고 간단히 정리해본 것입니다. 아이템1. 가변성을 제한하라. - 읽기 전용 프로퍼티(val) 중에서 읽기 전용 프로퍼티인 val에 대해 정리해보자. val a = 10 //a = 20 // 재할당 불가. val list = mutableListOf(1, 2, 3) // 읽기 전용 프로퍼티(val)로 선언되었어도 mutable 객체를 담고 있다면 내부적으로 변환 가능 list.add(4) print(list) //list = mutableListOf(5) //val 로 선언되었다면 재할당이 불가능 '프로퍼티를 읽을 수만 있다는 속성(읽기 전용)'과 '값이 변할 수 없는 것(가변성)'을 구분해서 생각해야한다. var 프로퍼티를 사용하는 val 프로퍼티는 var 프로퍼티가 ..

backend/Kotlin 2022.07.30