Dart 클래스의 인스턴스를 함수처럼 호출하고 싶다면, call()
메소드를 구현하세요.
call()
메서드는 함수를 정의하는 모든 클래스의 인스턴스가 함수를 에뮬레이트(emulate)하도록 허용합니다.
이 함수는 일반 함수 처럼 매개변수 그리고 반환 타입 같은 기능을 지원합니다.
다음의 예제에서, WannabeFunction
클래스는
3개의 문자열을 받아서 각 문자열을 공백으로 구분하고
느낌표를 추가하는 call()
함수를 정의합니다. Run을 클릭해 코드를 실행하세요.
class WannabeFunction {
String call(String a, String b, String c) => '$a $b $c!';
}
var wf = WannabeFunction();
var out = wf('Hi', 'there,', 'gang');
void main() => print(out);