본문 바로가기

일급함수

(2)
C# delegate (콜백, 체인, 범용성) C# 델리게이트(delegate) : C#에서 메서드를 가리킬 수 있는 타입(C++의 함수 포인터, 함수형프로그래밍에서 일급 함수와 유사하다.)delegate로 선언한 타입이 메서드를 가리키기 때문에그 메서드를 직접 호출하는 것 대신에 delegate로 그 메서드를 호출할 수 있다.- 메서드를 직접호출하면되지 왜 굳이 delegate를 사용해서 호출할까? 는 잠시 후에..1. delegate 만들기 delegate가 어떤 메서드를 가리키기 때문에 그 메서드와 동일한 매개변수와 리턴타입으로 선언해야한다.1234567선언 구문=> 접근제한자 delegate 대상_메서드의_반환타입 타입명(대상_메서드의_매개변수들..);(예시에선 접근제한자 생략) delegate void Type1(void); // void ..
일급 함수란? (함수를 객체처럼 다룬다, 일급 객체(first-class)) 일급 함수 일급 함수 : 프로그래밍 언어에서 함수를 값으로 다룰 수 있는 것 (함수 스스로 객체취급)즉, 함수를 변수에 담아 원할 때 평가(함수 호출)하는 것따라서 변수의 특성인 함수 인자로 전달 가능하며, 리턴 값으로 사용 가능( 나중에 상세한 정의 찾아보기 )1234var f1 = function(a){return a*a;};console.log(f1); // 함수의 내용이 나옴, 즉 변수f1에 함수가 담겼다var f2 = add; //add라는 메서드가 있을 때console.log(f2); 자바스크립트에서 f1이라는 변수에 함수를 대입할 수 있다. (여기서 보이진 않지만 add라는 함수를 만들었다.) 12345function f3(f){ return f();}//단순히 함수를 실행시키는 함수f3(f..