[개발일기] 22-06-15

오늘·2022년 6월 15일
0

[개발일기]

목록 보기
53/199

📝 간단하게 쓰는 개발일기

함수형 코틀린

4장을 마무리했다.

람다, 고차 함수, 부수 효과와 순수 함수에 대해 공부했다.

정리

  • 람다는 익명 함수를 부르는 말이다.
  • Java의 람다는 클래스와 인터페이스의 인스턴스로서의 기능만 하지만 Kotlin의 람다는 그 자체가 하나의 타입으로서 기능한다.
  • 람다에서 단일 인자의 경우 인자의 이름을 명시하지 않고 it 키워드로 대체 가능하다.
  • 고차 함수는 함수를 매개변수로 받거나 반환할 수 있는 함수이다.
  • 고차함수에서 함수를 반환하는 경우 호출 시 아래처럼 부모 파라미터(a=1)와 파라미터(it=3)를 모두 넘겨주어야 한다.
fun highOrderFunction(a: Int): (Int)->Unit {
	return {
    	println("$a, $it")
    }
}

fun main() {
	highOrderFunction(1)(3)
}
  • 부수 효과란 함수에서 해당 함수 영역 바깥의 객체나 변수에 접근하거나 수정하는 것을 말한다.
  • IO 작업 등 에서 부수 효과는 피할 수 없지만, 함수형 프로그래밍에서 가능하면 부수 효과는 피해야 한다.
  • 순수 함수란 자신의 인자에만 완전히 의존하는 함수를 말한다.
  • 순수 함수는 어떤 상황에서, 몇 번 호출되더라도 항상 같은 결과를 낸다. (수학의 함수와 유사)
profile
Junior Mobile 개발자

0개의 댓글