본문 바로가기

lambda

유니티42_C#_27_더 편리한 델리게이트를 위한 기능들 지금까지 델리게이트 선언과 사용법에 대해 알아보았다. 여기서는 델리게이트를 더 편리하게 사용하기 위해 여러 가지 유용한 기능들을 배워보자. 그 기능들은 다음과 같은 것들이 있다. Anonymous method (익명 메서드 또는 이름없는 메서드) Lambda expression (람다 표현 또는 람다식) Action 과 Func Anomymous method (익명 메서드) 익명메서드는 이름이 없고 메서드의 body(몸체, 내용)만 있는 메서드를 말한다. 이 익명 메서드를 델리게이트에 사용할 수 있다 익명 메서드를 사용하는 것은 델리게이트에 미리 정의된 메서드를 저장하는 것이 아니라 '이름없는'메서드를 만들어서 전달하는 것이다. 메서드명 대신 다음과 같이 delegate 키워드와 함께 익명 메서드의 형태.. 더보기
Kotlin더파기_04_Anonymous Function_익명함수 anonymous는 an(without; 없다)+onym(name; 이름)이 합쳐진 글자다. 즉, '이름이 없는(익명의)' 의 뜻이다. 함수에 이름이 없는 이유는 뭘까? 별로 중요하지 않기 때문? 아니다. 중요하고 쓰임새도 많다. Anonymous Function(익명함수) 익명함수는 말그대로 함수 이름 없이 다른 함수의 전달자 역할을 한다. '쌩초보 기초 12'에서 익명함수를 람다(lambda)라고 했었다. 코틀린의 표준 라이브러리(내장 함수 모음) 중 count()함수를 사용하여 테스트 해보자. 이 count함수는 문자열에서 호출하면 문자의 개수를 반환해 준다. 4번 라인은 문자열을 변수에 넣고 5번 라인에서 그 변수를 출력하는 코드이다. 7번 라인은 문자열의 개수를 변수에 넣고 8번 라인에서 그 변.. 더보기
쌩초보를 위한 기초_12_함수의 진화B 함수형 프로그래밍(Functional Programming) 고차 함수(Higher-Order Function) 먼저 고차 함수를 설명하기 전에 함수형 프로그래밍에 대해 알아본다. 이전 글에서 코틀린은 객체 지향 프로그래밍 뿐만 아니라 함수형 프로그래밍을 추구한다고 했다. 함수형 프로그래밍의 목표는 같은 인자(argument)를 넣으면 항상 같은 결과를 반환하는 것이다. 한마디로 에러가 나지 않는 완전한 함수를 추구하는 것이다. 함수형 프로그래밍을 완성하기 위해서는 함수가 다른 객체들을 마음껏 통제할 수 있어야 하고 또한 함수를 어디에서나 활용할 수 있어야 진정한 함수형 프로그래밍을 구현할 수 있다. 함수를 매개변수로 사용할 수도 있고 함수를 통째로 반환(전달)할 수도 있고 변수에 함수를 넣을 수도 있어.. 더보기