[Flutter] Dart - 함수

최재원's avatar
Jun 19, 2025
[Flutter] Dart - 함수

일반 함수

💡
외부의 영향을 받지 않는 것 → 함수
들어오는 값이 동일하면 나오는 값도 동일해야 → 함수
외부에 영향을 받는, 의존하는 것 → 메서드
// 함수 // 어디서든 호출 가능한 것 -> 1급 객체 void f1(){ print("f1 호출됨"); } void f2(int n1, int n2){ print("f2 호출됨 : ${n1 * n2}"); } int f3(int n1, int n2){ return n1 * n2; } void main() { f1(); f2(5,6); int result = f3(8,4); print("f3 호출됨 : result = ${result}"); }
notion image

람다

💡

📌 람다의 정의

람다는 이름 없이 정의할 수 있는 함수입니다.
일반적인 함수와 달리 deffunction 같은 키워드 없이 정의되며, 한 번 쓰고 버리는 함수에 적합합니다.
💡
바인딩
특정 요청에 따라 실행되는 이름 없는 함수를 바인딩 된 함수라고 한다
Function f1 = (){}; // 익명함수 var f2 = (){}; // 람다 문장 var f3 = () => print("f3 호출됨"); // 람다 표현식 var f4 = () => 1; // 람다의 장점 코드가 짧아 가독성이 좋아짐 int f5(){ return 1; } void f6(){ print(1); } void main() { }
  • var f2 = (){}; → 대부분의 이름없는 함수 사용은 이렇게 하자
  • var f4 = () => 1; → 한줄로 리턴하는 경우에만 사용하자
// 버튼 class Button { // 디자인 void onClick(Function be) { be(); } } class CheckBox { // 디자인 void onSelected(Function be) { be(); } } void main() { Button b = Button(); b.onClick(() { print("선 그리기"); }); CheckBox ch = CheckBox(); ch.onSelected(() { print("점 그리기"); }); }
  • 행위를 전달하는 방법

이름이 있는 함수

💡
  • 코드 줄이 너무 길거나
  • 재사용이 필요할 때
Share article

jjack1