본문 바로가기

Language36

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.
Kotlin에서 람다의 라벨링 Kotlin은 함수와 람다를 매우 강력하게 지원하는 언어입니다. 때로는 람다 안에 람다, 또는 여러 개의 람다를 중첩해서 사용하는 경우도 많습니다. 이럴 때, 특정 람다의 return을 원할 때 또는 특정 람다를 참조하고 싶을 때, 람다에 라벨링을 사용하게 됩니다. 라벨링의 필요성 람다 내부에서 return 키워드를 사용하면, 기본적으로 가장 깊은 람다를 빠져나오게 됩니다. 이를 '비로컬 리턴'이라고 부릅니다. 그러나 때로는 바로 상위의 람다나 특정 람다에서만 리턴하고 싶을 경우가 있습니다. 이럴 때 라벨을 사용하면 특정 람다의 범위에서만 return을 할 수 있습니다. 라벨링의 사용법 라벨은 @라벨이름 형식으로 작성하며, 람다 앞에 붙여 사용합니다. 예제를 통해 자세히 알아보겠습니다. fun main(.. 2023. 8. 23.
Builder 패턴이란? (feat. Kotlin의 코드 간결성 찬양) Builder 패턴은 객체 생성 과정과 표현 방식을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 생성할 수 있게 하는 패턴입니다. 복잡한 객체의 생성과정을 단계별로 나눠 명확하게 표현하며, 필요한 경우에만 특정 메소드를 호출하여 객체를 생성할 수 있습니다. Java에서의 Builder 패턴 예제 public class Computer { private String CPU; private String RAM; private String storage; private Computer(Builder builder) { this.CPU = builder.CPU; this.RAM = builder.RAM; this.storage = builder.storage; } public static class B.. 2023. 8. 17.
Kotlin의 코드 간결성 (Lombok과 유사한 기능들 비교) Lombok은 Java의 보일러플레이트 코드를 줄이기 위해 만들어진 라이브러리입니다. 반면, Kotlin은 보일러플레이트 코드를 줄이기 위해 처음부터 설계된 언어입니다. Kotlin 자체적으로 데이터 클래스, 확장 함수 등과 같은 기능을 제공하여 Java의 Lombok과 같은 라이브러리가 필요하지 않게 만들었습니다. 따라서, Kotlin에서 Lombok을 사용하는 것은 권장되지 않습니다. Kotlin의 기능만으로도 Lombok에서 제공하는 대부분의 기능을 쉽게 사용할 수 있기 때문입니다. 예제 코드 비교: 1. Lombok을 사용한 Java 코드 import lombok.Data; // @Data 어노테이션은 @Getter, @Setter, @RequiredArgsConstructor, @ToString.. 2023. 8. 17.
728x90