본문 바로가기
프로그램 개발해서 돈벌기/flutter

[flutter] "=>" 화살표 함수(arrow function) 간략한 샘플 코드로 설명

by ubmuhan 2023. 4. 10.
반응형

Flutter에서 "=>"는 화살표 함수(arrow function)를 나타냅니다. 이는 단축 문법으로, 함수의 본문을 한 줄로 표현할 때 사용됩니다.

예를 들어, 다음은 일반 함수와 화살표 함수의 비교입니다.

 

// 일반 함수
int add(int a, int b) {
  return a + b;
}

// 화살표 함수
int add(int a, int b) => a + b;

 

위의 두 함수는 완전히 같은 동작을 수행합니다. 화살표 함수는 "=>" 기호를 사용하여 함수의 인수와 본문을 분리합니다. 인수 목록은 함수 이름과 괄호 없이 쉼표로 구분된 변수 이름으로 나열됩니다. 함수의 본문은 "=>" 기호 오른쪽에 나타납니다.

 

화살표 함수는 코드의 가독성을 높이고 함수 작성을 더 간결하게 만들어줍니다. 하지만, 함수의 본문이 복잡해지면 일반 함수를 사용하는 것이 더 나은 선택일 수 있습니다.

 

 
 

(context, state) => const MyScreen() 의미는?

Flutter에서 "(context, state) => const MyScreen()"는 StatefulWidget에서 사용되는 builder 함수의 형태입니다. 이 함수는 StatefulWidget의 상태 변화에 따라 UI를 재빌드할 때마다 호출되며, 새로운 UI를 반환합니다.

 

이 builder 함수는 두 개의 인수를 가집니다. 첫 번째 인수인 "context"는 현재 위젯의 BuildContext입니다. 이 인수는 위젯 트리 내에서 현재 위젯의 위치 및 상태를 식별하는 데 사용됩니다. 두 번째 인수인 "state"는 StatefulWidget의 상태 객체입니다.

 

위의 코드에서 builder 함수는 "context"와 "state" 인수를 사용하지 않고 "const MyScreen()"을 반환합니다. 이는 MyScreen 위젯을 빌드하고, 이전과 동일한 UI를 반환하기 때문에 "const"로 선언할 수 있습니다.

 

이와 같이 builder 함수를 작성하면 StatefulWidget이 상태를 변경하더라도 화면이 다시 그려지는 경우 MyScreen 위젯을 재사용하게 되므로 앱의 성능을 최적화할 수 있습니다.

 

 

반응형

댓글