Hello, Android!

함수형 프로그래밍 본문

Kotlin

함수형 프로그래밍

lwndnjs93 2020. 2. 24. 15:37

코틀린은 함수형 프로그래밍과 객체 지향 프로그래밍을 모두 지원한다

여기서 함수형 프로그래밍이란 순수 함수를 이용하여 부작용을 줄이는 기업을 말하며

함수형 프로그래밍 에서는 람다식과 고차함수를 이용한다

 

- 부작용이 없는함수

부작용이 없는 함수는 어떤 함수가 같은 인자에 대하여

항상 같은 결과를 반환하게 되면 부작용이 없는 함수 라고 한다

 

- 순수 함수

순수함수는 같은 인자에 대해서 항상 같은 결과를 반한화는 함수(부작용이 없는 함수)가

외부의 어떤 상태도 바꾸지 않는다면 이를 순수함수 라고 한다

이러한 특성으로 인해 순수 함수는 스레드에서 사용해도 안전하며, 테스트 하기도 쉽다

예를들어 위의 numCalc함수의 경우 num1과 num2를 받아 더한 값을 반환하며

외부에 아무런 영향도 끼치지 않는다

이렇게 외부에 영향을 끼치지도 않고 동일한 인자에 대하여 같은 결과를 반환하는 함수를

순수 함수 라고 한다

 

- 일급 객체

함수형 프로그래밍 에서는 함수를 일급 객체로 취급한다

여기서 일급 객체는

1. 함수의 인자로 전달할 수 있다

2. 함수의 반환값에 사용할 수 있다

3. 변수에 할당할수 있다

 

여기서 함수가 일급 객체이면 일급 함수 하고 하며

일급 함수에 이름이 없는 경우 람다식 함수, 람다식 이라고 부른다

 

'Kotlin' 카테고리의 다른 글

고차함수  (0) 2020.02.24
람다식  (0) 2020.02.24
함수의 매개변수  (0) 2020.02.23
코틀린의 연산자  (0) 2020.02.23
코틀린의 Any  (0) 2020.02.22