인프런 커뮤니티 질문&답변

강민성님의 프로필 이미지

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

validate() 함수 TextFormField에 적용하기

typedef와 Function

24.07.03 12:49 작성

·

90

0

1번코드

final bool Function(DateTime day)? selectedDayPredicate;

2번코드

typedef SelectedDayPredicate = bool Function(DateTime day);

final SelectedDayPredicate selectedDayPredicate ;

1번,2번 selectedDayPredicate 둘 다

bool값을 반환하고 매게 변수를 DateTime을 받는 변수인게 맞죠? 플러터에서 typedef방식이랑 Function방식 2개가 있어서 어렵네요.

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

2024. 07. 03. 20:04

안녕하세요!

대부분의 static typing 언어는 typedef (함수 타입 정의 유형)과 function (실제 함수 구현체)가 존재합니다.

절대 헷갈리시면 안되는게 SelectedDayPredicate는 typedef 즉 어떻게 생긴 함수가 입력돼야하는지에 대한 정의입니다.

selectedDayPredicate는 SelectedDayPredicate라는 typedef에 맞는 함수가 들어왔을때 그 함수의 이름을 뭐라고 부를지 정의한 것 뿐입니다.

말씀하신대로 1번과 2번의 타입적 차이는 nullable이냐 아니냐의 차이밖에 없습니다.

감사합니다!