Spring(56)
-
Kotlin, 어렵지 않게 사용하기 (8) - lambda 3
kotlin의 람다 사용 방식과 용례를 Java 코드와 비교하며 학습하는 것이 해당 포스팅의 목표입니다. 🔗 Kotlin 시리즈 모아보기 안녕하세요. 이번 포스팅에서는 Kotlin의 람다와 관련된 활용 문법을 학습합니다. Sequence : 한 번에 하나씩 열거될 수 있는 원소의 시퀀스를 표현 코틀린 지연 계산 시퀀스는 Sequence 인터페이스에서 시작한다. public interface Sequence { public operator fun iterator(): Iterator } Sequence 안에는 iterator라는 단 하나의 메소드가 있는데, 이를 통해 원소 값을 얻을 수 있다. Collection API vs Sequence 이전 포스팅에서 map, filter 등 주요 컬렉션 함수를 살펴..
2022.10.18 -
Kotlin, 어렵지 않게 사용하기 (7) - lambda 2: Collection
kotlin의 람다 사용 방식 중 Collection과의 조합과 사용을 Java 코드와 비교하며 학습하는 것이 해당 포스팅의 목표입니다. 🔗 Kotlin 시리즈 모아보기 안녕하세요. 이번 포스팅에서는 Kotlin의 람다의 사용방식 중 Collection과의 사용 방식을 학습합니다. HOF, High Order Function : 고차 함수. 함수형 프로그래밍에서는 람다나 다른 함수를 인자로 받거나 함수를 반환하는 함수 고차 함수는 기본 함수를 조합해서 새로운 연산을 정의하거나, 다른 고차 함수를 통해 조합 된 함수를 또 조합해서 더 복잡한 연산을 쉽게 정의할 수 있다는 장점이 있다. 고차 함수와 단순한 함수를 조합하는 방식을 컴비네이터 패턴(combinator pattern)이라 부르고, 고차함수로 구현..
2022.10.12 -
Kotlin, 어렵지 않게 사용하기 (6) - lambda 1
kotlin의 람다 사용 방식과 용례를 Java 코드와 비교하며 학습하는 것이 해당 포스팅의 목표입니다. 🔗 Kotlin 시리즈 모아보기 안녕하세요. 이번 포스팅에서는 Kotlin의 람다와 관련된 기본 문법을 학습합니다. Lambda expression : 다른 함수에 넘길 수 있는 작은 코드 조각 코틀린에서는 자바 8과 마찬가지로 람다를 쓸 수 있다. 바람직한 람다의 사용으로 코드의 관리와 가독성을 키울 수 있다. 코틀린에서 람다를 활용하여 코드를 깔끔하게 관리할 수 있는데 아래와 같이 사용하는 것이 대표적이다. ✔️ 람다로 작성한 라이브러리 함수로 중복 코드 제거 : 코틀린 표준 라이브러리는 람다를 아주 많이 사용하는데, 컬렉션이 대표적이다. ✔️ 코틀린 람다를 자바 라이브러리와 함께 사용 ✔️ 수신..
2022.09.28 -
Kotlin, 어렵지 않게 사용하기 (5) - copy, by, companion
kotlin의 객체 사용 방식과 용례를 Java 코드와 비교하며 학습하는 것이 해당 포스팅의 목표입니다. 🔗 Kotlin 시리즈 모아보기 안녕하세요. 이번 포스팅에서는 Kotlin의 객체와 관련된 기본 문법을 학습합니다. Java와의 호환성을 크게 갖기 때문에, Java와 호환하여 정의 및 호출하는 방식을 익히도록 합니다. Mutable Object data class의 프로퍼티는 val 말고도 var를 써도 되지만, 코틀린에서는 불변 mutable 클래스를 권장하기 때문에 되도록 data class의 모든 프로퍼티를 읽기 전용인 val로 정의하는 것이 좋다. 불변 클래스를 권장하는 이유는 두 가지인데, 아래와 같다. 첫 번째는 프로퍼티를 HashMap의 key로 사용중 프로퍼티가 변경되면 HashMap..
2022.09.27 -
Kotlin, 어렵지 않게 사용하기 (4) - Object 2
kotlin의 객체 사용 방식과 용례를 Java 코드와 비교하며 학습하는 것이 해당 포스팅의 목표입니다. 🔗 Kotlin 시리즈 모아보기 안녕하세요. 이번 포스팅에서는 Kotlin의 객체와 관련된 기본 문법을 학습합니다. Java와의 호환성을 크게 갖기 때문에, Java와 호환하여 정의 및 호출하는 방식을 익히도록 합니다. sealed class : 상위 클래스를 상속한 하위 클래스 정의를 제한 Expr 인터페이스를 생성하고 이를 구현하는 두 클래스를 정의해보자. Expr 는 숫자를 표현하는 Num과 덧셈 연산을 표현하는 Sum이라는 두 하위 클래스가 있다. interface Expr class Num(val value: Int) : Expr class Sum(val left: Expr, val righ..
2022.09.22 -
Kotlin, 어렵지 않게 사용하기 (3) - Object 1
kotlin의 객체 사용 방식과 용례를 Java 코드와 비교하며 학습하는 것이 해당 포스팅의 목표입니다. 🔗 Kotlin 시리즈 모아보기 안녕하세요. 이번 포스팅에서는 Kotlin의 객체와 관련된 기본 문법을 학습합니다. Java와의 호환성을 크게 갖기 때문에, Java와 호환하여 정의 및 호출하는 방식을 익히도록 합니다. 코틀린의 클래스와 인터페이스는 자바 클래스, 인터페이스와는 약간 다르다. 몇 가지 먼저 이야기 해보자면, 첫 번째로 인터페이스에 프로퍼티 선언이 들어갈 수 있으며 초기화가 필수인 자바와는 달리 코틀린에서는 기본적으로 상태를 갖지 않는다. 두 번째는 자바와 달리 코틀린 선언은 기본적으로 final이며 public이다. 세 번째는 중첩 클래스는 기본적으로는 내부 클래스가 아니다. 즉, 코..
2022.09.20