본문 바로가기

고차함수

쌩초보를 위한 기초_13_함수의 진화C Lambda functions (람다 함수) 와 Function Reference (함수 참조) 이번에는 고차함수를 구현하기 위해 사용하는 람다 표현과 함수 참조에 대해 살펴본다. main()함수 밖에 고차 함수를 하나 만들자. 함수명은 calculate(계산하다)로 한다. fun calculate(x: Int, y: Int, work: (Int, Int) -> Int): Int { } 매개변수는 3개 (x, y , work) 이다 매개변수 work의 타입(Type)이 람다함수로 되어있다. 그 모양은 Int타입 2개를 하나의 Int타입으로 만든다. 그 다음에 콜론( : )으로 구분한 후 뒤에 반환형(Return Type)이 표시되어 있다. 이제 고차함수 work가 들어오는 인자(argument)를 받아서.. 더보기
쌩초보를 위한 기초_12_함수의 진화B 함수형 프로그래밍(Functional Programming) 고차 함수(Higher-Order Function) 먼저 고차 함수를 설명하기 전에 함수형 프로그래밍에 대해 알아본다. 이전 글에서 코틀린은 객체 지향 프로그래밍 뿐만 아니라 함수형 프로그래밍을 추구한다고 했다. 함수형 프로그래밍의 목표는 같은 인자(argument)를 넣으면 항상 같은 결과를 반환하는 것이다. 한마디로 에러가 나지 않는 완전한 함수를 추구하는 것이다. 함수형 프로그래밍을 완성하기 위해서는 함수가 다른 객체들을 마음껏 통제할 수 있어야 하고 또한 함수를 어디에서나 활용할 수 있어야 진정한 함수형 프로그래밍을 구현할 수 있다. 함수를 매개변수로 사용할 수도 있고 함수를 통째로 반환(전달)할 수도 있고 변수에 함수를 넣을 수도 있어.. 더보기