Dart에서는 함수의 타입을 typedef
를 이용하여 정의할 수 있다.
특히 Map, List, Set 등의 자료구조로 함수의 값을 반환할 때도 미리 함수의 타입을 정의하여 변수로 정의해두고 사용할 수 있다.
typedef를 사용했을 때 장점으로는
문법
typedef 변수 = 함수타입;
예시
// list를 ListOfInts 라는 변수에 담기
typedef ListOfInts = List<int>;
// ListOfInts 반환
ListOfInts reverseListOfNumbers(ListOfInts list) {
var reversed = list.reversed;
return reversed.toList();
}
복잡한 함수를 사용해야하는 경우는 위와 같이 typedef를 잘 활용하면 좋지만, dart는 강력한 제네릭 기능을 갖추고있어 타입을 명시적으로 선언하지 않아도 되기 때문에 상황에 따라 고려하여 선언하여 사용하는 것이 좋다.