728x90
typedef
typedef 를 선언하면 시그니처에 부합하는 모든 함수들을 마음것 집어 넣을수 있음
중요한건 위에 함수 파라미터 형태와 완전 일치 해야함
void main()
{
Operation operation = add; // 현제 add라는 함수가 들어가 있는거임
int result = operation(10,20,30);
print(result);
operation = subtract; // 빼기 함수로 정의
int result2 = operation(10,20,30); // 이렇게 typedef 를 선언하면 시그니처에 부합하는 모든 함수들을 마음것 집어 넣을수 있음
print(result2);
int result3 = calculate(30, 40, 50, add); // 실제로는 이렇게 사용함
print(result3);
}
// typedef 함수와 비슷하지만 바디가 없음
typedef Operation = int Function(int x, int y, int z); //함수 선언 하듯이 리턴되는 타입 지정해주기 Function(int x, int y, int z) 이러한 파라미터 받는다는 뜻
// 더하기
int add(int x, int y, int z) => x + y + z; // 위에 지정한 함수의 형태를 가지고 typedef 를 만들수 있음 중요한건 위에 함수 파라미터 형태와 완전 일치 해야함
// 빼기
int subtract(int x, int y, int z) => x - y - z;
// 계산
int calculate(int x, int y, int z, Operation operation){
return operation(x,y,z);
}
728x90
'APP > Dart' 카테고리의 다른 글
dart 문법 총 정리 OOP (객체지향 프로그래밍) immutable 프로그래밍 이란? , 생성자 앞에 const 키워드를 붙이면 어떻게 되는가 (0) | 2022.08.04 |
---|---|
dart 문법 총 정리 OOP (객체지향 프로그래밍) 1. 생성자 (0) | 2022.08.04 |
dart 문법 총 정리 4. 사용자 정의 함수, Enum (0) | 2022.07.26 |
dart 문법 총 정리 3. 조건문과 반복문 (0) | 2022.07.26 |
dart 문법 총 정리 2. List, Map, Set (0) | 2022.07.26 |