본문 바로가기

Language35

코틀린의 Elvis 연산자 (?:) 코틀린은 다양한 연산자를 제공하여 개발자의 편의성을 증진시키는데, 그 중 하나가 바로 Elvis 연산자 (?:)입니다. 이 연산자는 주로 null 검사에 활용되며, 좌측 피연산자의 값이 null이 아니면 그 값을 반환하고, null이면 우측 피연산자의 값을 반환합니다. Elvis 연산자의 기본 구조: val result = value ?: defaultValue 위 코드에서 value가 null이 아니라면 result에 value가 할당되고, null이라면 defaultValue가 할당됩니다. 예제 코드: fun main() { val name: String? = null val defaultName = "홍길동" // Elvis 연산자를 사용하여 name이 null일 경우 defaultName을 할당 .. 2023. 8. 25.
리플렉션(Reflection) in Kotlin & Spring 리플렉션은 런타임 시점에서 프로그램의 구조를 조사하거나 수정하는 기능을 가리킵니다. Kotlin에서는 Java보다 더 강화된 리플렉션 API를 제공하며, 특히 Spring과의 통합에서 이를 쉽게 활용할 수 있습니다. 1. Kotlin에서의 리플렉션 Kotlin에서의 리플렉션은 kotlin.reflect 패키지에서 주로 제공됩니다. :: 연산자를 사용하면 특정 클래스나 함수의 KClass 또는 KFunction 형태의 리터럴을 얻을 수 있습니다. 2. Kotlin 리플렉션의 주요 특성 Type-safe: Kotlin의 리플렉션 API는 타입 안전성을 보장합니다. Concise: :: 연산자를 통해 간결하게 메타데이터에 접근 가능합니다. Interoperable: Kotlin 리플렉션은 Java 리플렉션과 .. 2023. 8. 24.
클래스 리터럴이란? 안녕하세요, 오늘은 Java와 코틀린에서의 '클래스 리터럴'에 대해 알아보려 합니다. 클래스 리터럴이라는 용어에 익숙하지 않으신 분도 계실 텐데요. 그럼 바로 시작해보겠습니다! 1. 클래스 리터럴이란? 클래스 리터럴은 특정 클래스의 타입 정보를 담고 있는 객체입니다. 이는 프로그램 실행 중에 해당 클래스의 구조나 특성에 동적으로 접근할 때 사용되는 리플렉션(reflection)의 핵심 요소 중 하나입니다. 2. Java에서의 클래스 리터럴 Java에서는 .class 문법을 통해 클래스 리터럴에 접근할 수 있습니다. // Java의 클래스 리터럴 예시 Class stringClass = String.class; System.out.println(stringClass.getName()); //.. 2023. 8. 24.
Kotlin의 `filter`와 `map` 함수 Kotlin은 콜렉션의 처리를 위한 강력한 API를 제공합니다. 그 중에서도 filter와 map 함수는 데이터 변환 및 처리에서 가장 널리 사용되는 함수들 중 두 개입니다. 1. filter 함수 filter는 주어진 조건을 만족하는 요소만을 선택하여 새로운 콜렉션을 생성합니다. 함수는 Boolean 값을 반환하는 람다를 인자로 받습니다. true를 반환하는 요소만 새로운 콜렉션에 포함됩니다. val numbers = listOf(1, 2, 3, 4, 5, 6) val evenNumbers = numbers.filter { it % 2 == 0 } // 결과: [2, 4, 6] 여기서, it은 현재 처리중인 요소를 가리킵니다. 2. map 함수 map은 주어진 콜렉션의 각 요소를 변환하여 새로운 콜렉션.. 2023. 8. 24.