이번 포스트에서는 함수형 프로그래밍 중 클로저의 개념에 대해 살펴보도록 하겠습니다. 클로저(Closure)는 함수가 호출될 때 발생하는 데이터를 함수가 호출된 이후에도 계속 유지해서 사용하는 기법입니다. fun closureFunction(num: Int) { println("arguments : $num") } num이라는 변수는 함수가 종료되면 사라지는 즉, 스코프는 함수 내부가 됩니다. 함수형 프로그래밍에서는 함수에 선언된 변수가 호출 후에도 유지되어야 하는 경우도 있습니다. 그 이유는 함수형 프로그래밍에서는 함수가 1급 객체이기 때문에 함수 내부에 함수를 정의할 수 있기 때문입니다. fun closureFunction(num: Int): (Int) -> Int { println("argument ..
고차 함수는 매개변수로 함수를 전달받거나 함수를 반환하는 함수를 말합니다. fun highFunction(a: Int, argFunction: (Int) -> Int) { val result = argFunction(10) println("a : $a, highFunction : $result") } highFunction(10, {x -> x * x}) (Int) -> Int 타입의 함수를 argFunction이라는 이름으로 사용할 수 있다는 것입니다. 위의 코드에서는 highFunction의 매개변수로 람다 함수를 사용한 예시입니다. 고차 함수와 함수 타입 매개변수 함수 타입의 매개변수 대입 일반적으로 함수를 호출할 때는 함수명 뒤에 ()를 붙이고 () 안에 인수를 작성합니다. 그런데 고차 함수의 매..
람다식(람다 함수)은 익명 함수(Anonymous Function)를 지칭하는 용어입니다. 함수형 프로그래밍이 아니더라도 람다식(람다함수)을 사용할 수 있지만 함수형 프로그래밍에서는 람다 함수가 고차함수의 매개변수(Parameter)나 반화값(Return Value)으로 사용됩니다. 고차 함수가 무엇인지는 조금 후에 알아보도록 하고 코틀린에서 람다식이 무엇인지 알아보기로 하겠습니다. 람다식 (람다 함수) fun 함수이름(매개변수) { 함수내용 } 코틀린에서 함수를 작성하는 방식은 위와 같습니다. 람다 함수는 fun이라는 키워드와 함수 이름을 생략하고 선언합니다. { 매개 변수 -> 함수 내용 } 람다 함수는 다음과 같은 규칙을 바탕으로 정의합니다. 1. 람다 함수는 항상 { }로 감싸서 표현해야 한다. ..
- Total
- Today
- Yesterday
- CloudComputing
- Apple Watch
- C++
- 컬렉션
- Reactive programming
- retrofit
- Notissu
- 코틀린
- Rxjava
- 알고리즘
- SwiftUI
- 애플워치
- databinding
- Auto Layout
- apple
- 함수형프로그래밍
- 함수형
- Elliotable
- Swift
- Kotlin
- 스위프트
- 상속
- XCode
- android
- 오토레이아웃
- ios
- watchos
- java
- 아이폰
- 안드로이드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |