본문 바로가기

kotlin

코틀린 독학 7일차 :: 함수형 프로그래밍

연휴에 학원 과제하고 이것저것 하느라 포스팅을 오랜만에 한댜

-

일단 코틀린의 함수형 프로그래밍에는 

람다식과 고차함수가 있다 

람다식

람다식이란

{x, y --> x + y} 와 같이

이름이 없는 함수 형태이다 

위의 식을 보면 함수명이 없고 

--> 화살표가 사용되었다 

고차함수

고차함수는 다른 함수를 인자로 사용하거나 

함수를 결괏값으로 반환하는 함수이다.

(인자나 반환값으로 함수 사용)

고차함수는 람다식을 인자로 받아들일 수 있는 함수이다.

 

fun highfun(sum: (Int, Int)) --> Int, a: Int, b: Int) : Int {

return sum(a, b)

}

여기서 sum은 람다식 매개변수로 (Int, Int) --> Int 로 자료형이

람다식으로 선언되어 있다.

 

고차함수_인자에 일반함수 사용하기

인자에 sum(3,3) 함수를 사용했다

성공적으로 결과값이 출력됐다

 

그럼 반환값에 일반함수를 사용해보자!

funcFunc()의 return 값에 sum()함수를 사용한 후

2,2 인자를 받아 2+2 인 4를 

return해주었다

그럼 출력해보면

funcFunc : 4 가 출력된것을 확인할 수 있다.

-

이번에는 변수에 할당하는 람다식 작성 해보자

multi라는 변수에 람다식인 (Int, Int) -> Int 에 의해 Int형인 것을 추론할 수 있다.

또한 multi에  x*y 연산이 있고 

result 에 10, 20이 전달되어

값을 반환하면 200이 반환된다.

인자와 반환값이 없는 람다식 함수

-

람다식 어렵다ㅜㅜ