개발/kotlin

    728x90
    반응형

    람다 호출 축약 문법

    Kotlin의 람다 문법 규칙함수의 마지막 매개변수가 람다인 경우, 람다를 함수 호출 괄호 () 밖으로 빼낼 수 있습니다. 이를 람다 호출 축약 문법이라 부릅니다.구현은 동일두 코드 모두 someFunction 함수에 동일한 람다 { println("람다 호출") }를 전달하며, 함수 내부에서 이 람다가 호출됩니다. 따라서 실행 결과는 동일합니다.// 일반적인 람다 전달someFunction(param1, param2, { println("람다 호출") })// 마지막 매개변수 축약 문법someFunction(param1, param2) { println("람다 호출") } 장점과 권장사항가독성 향상: 두 번째 코드처럼 람다 호출 축약 문법을 사용하는 것이 더 깔끔하고 가독성이 좋습니다.일관성 유지: K..

    Spring Boot JPA와 Kotlin Reflect 오류 해결 방법

    Spring boot + kotlin 프로젝트에서 JPA를 사용할때 아래와 같은 에러가 발생했습니다.Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'vehicleRepository' defined in com.exam.repository.VehicleRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: kotlin/reflect/full/KClasses 해당 에러 메시지는 Spring Boot 애플리케이션에서 vehicle..

    JSON을 Kotlin DTO로 변환하는 방법 - Kotlinx.Serialization 활용 가이드

    Kotlinx.Serialization은 Kotlin 언어에서 데이터 직렬화와 역직렬화를 수행하는 라이브러리입니다. 이는 Kotlin 멀티플랫폼 프로젝트에서 쉽게 사용할 수 있도록 설계되었으며, JSON, ProtoBuf, CBOR, XML 등 여러 포맷을 지원합니다. 여기서 JSON 포맷을 중심으로 설명하겠습니다. Kotlinx.Serialization의 주요 특징다양한 포맷 지원: JSON, ProtoBuf, CBOR, XML 등 여러 포맷을 지원합니다.Kotlin 멀티플랫폼 지원: Kotlin/JVM, Kotlin/JS, Kotlin/Native 등 다양한 플랫폼에서 사용할 수 있습니다.강력한 타입 안전성: Kotlin의 강력한 타입 시스템을 활용하여 직렬화와 역직렬화 과정에서 타입 안전성을 보장합..

    object, companion object, 최상위 함수 정리

    개요Java에서는 static 키워드를 사용하여 클래스 수준에서 접근 가능한 필드와 메서드를 정의합니다. 코틀린에서는 static 키워드가 없지만, 비슷한 기능을 제공하는 object, Companion Object, 최상위 함수와 변수를 사용하는 방법이 있습니다.  공통점정적 접근 가능: 모두 인스턴스를 생성하지 않고도 접근할 수 있습니다.유틸리티 함수와 상수 관리: 주로 유틸리티 함수와 상수를 관리하는 데 사용됩니다.재사용성: 코드의 재사용성을 높이고 모듈화하는 데 도움이 됩니다.  차이점Object 키워드정의: object 키워드를 사용하여 싱글톤 객체를 정의합니다. 프로그램 전역에서 하나의 인스턴스만 존재합니다.용도: 주로 전역적으로 하나만 존재해야 하는 객체를 정의할 때 사용합니다.초기화: 프로..

    728x90
    반응형