함수형 프로그래밍
어떤 함수 f(x) = y와 같이
x를 넣으면 y 결과만을 출력하는 함수를 만드는 것
순수함수
입력받은 변수만 사용하여 결과를 출력하는 함수
외부 변수를 참조하지 않음
고차함수
함수의 실행 결과를 다음 함수로 넘겨 순차적으로 동작하는 함수 집합
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //기본 사용법 {변수 정의 -> 함수 구현} //lambdas 변수 선언 var anonymousFunc = {a:Int, b:Int -> a + b} //람다 기본 호출, anonymousFunc(10, 20) Log.e("err", anonymousFunc(10, 20).toString()) //람다식 전달, 두 수 곱하기 oFun{n,n2->n*n2} //람다식 및 값 전달 tFun({n,n2->n+n2}, 5,5) //참조 값 전달 (이중 포인터) fFun(::addFun) //결과값: 30, 100, 10, 101 } fun oFun(inFun: (Int, Int)-> Int){ Log.e("err", inFun(10,10).toString()) } fun tFun(inFun: (Int, Int)-> Int, a: Int, b: Int){ Log.e("err", inFun(a, b).toString()) } fun fFun(inFun: (Int) -> Int){ Log.e("err", inFun(1).toString()) } fun addFun(i: Int) : Int{ return i+100 } }
변수 및 함수 선언
변수 선언
var 변수 = { 파라미터 -> 실행코드블록 }
일반함수 선언
fun 함수(변수명: 입력파리미터) : 반환 파라미터{ }
고차함수 선언
fun 함수(변수명: (입력 파라미터) -> 반환 파라미터){ }
변수 및 함수 호출
변수 기본 호출
변수(변수 값 파라미터)
함수 람다식 전달
함수{변수 정의 -> 함수 구현}
함수 람다식과 변수 값 전달
함수({변수 정의 -> 함수 구현}, 변수 값...)
함수 참조 전달
함수(::참조할 함수)
반응형
'학습 log (이론) > kotlin' 카테고리의 다른 글
Kotlin기초 'Closure' (0) | 2019.11.12 |
---|---|
Kotlin기초 '유용한 함수' (0) | 2019.11.10 |
Kotlin기초 '객체' (0) | 2019.11.03 |
Kotlin기초 'Exception 처리' (0) | 2019.10.27 |
Kotlin기초 'Collection' (0) | 2019.10.24 |