subindev 님의 블로그

[Flutter] #2 Dart 기본 문법 - 익명함수와 람다식 본문

앱개발/Flutter

[Flutter] #2 Dart 기본 문법 - 익명함수와 람다식

subindev 2025. 1. 3. 18:38

Dart 프로그래밍 기초

 

1. 익명 함수 (Anonymous Function)

익명 함수란?

익명 함수는 이름이 없는 함수로, 변수에 할당하거나 함수의 매개변수로 전달하여 사용할 수 있습니다.

주로 간단한 작업을 처리하거나 한 번만 사용할 함수에 유용합니다.

(매개변수) {
	// 수행 구문
};

 

익명 함수 예제

 
void main() {
  // 1단계: 이름이 없는 함수
  (int number) {
    return 100 + number;
  };

  // 2단계: 함수를 변수에 담기
  Function() square = () {
    return 10 * 10;
  };

  // 3단계: 매개변수가 있는 익명 함수
  var sub = (int number1, int number2) {
    return number1 - number2;
  };

  // 4단계: 매개변수 타입 생략 가능
  var add = (number1, number2) {
    return number1 + number2;
  };

  // 문제: 두 수의 곱하기 익명 함수
  var mul = (a, b) {
    return a * b;
  };

  print("2의 제곱은 :::  ${square()}");
  print("두 수의 빼기 연산 :::  ${sub(10, 5)}");
  print("두 수의 더하기 연산 :::  ${add(10, 10)}");
  print("두 수의 곱하기 연산 :::  ${mul(10, 5)}");
}
 
 

2.  화살표 함수 (Arrow Function)

화살표 함수란?

화살표 함수는 ' () =>  ' 를 사용해 간단히 함수를 정의하는 방식입니다.

단일 표현식 함수에 유용하며, Dart 외에도 람다 표현식으로 불리는 개념과 유사합니다.

리턴타입 함수이름(매개변수) => //구현부분;

화살표 함수 예제

void main() {
  int add(int n1, int n2) => n1 + n2;
  int sub(n1, n2) => n1 - n2;
  var mul(var n1, var n2) => n1 * n2;
  var div(n1, n2) => n1 / n2;

  print("두 수의 더하기 연산 ::: ${add(10, 5)}");
  print("두 수의 빼기 연산 ::: ${sub(10, 5)}");
  print("두 수의 곱하기 연산 ::: ${mul(10, 5)}");
  print("두 수의 나누기 연산 ::: ${div(10, 5)}");
}

화살표 함수 활용)

void main() {
  print('원의 반지름 5의 면적 : ${circle(5)}');
  print("직사각형 가로 3 세로 4의 면적은 : ${rectangle(3.6, 4)}");
}

const pi = 3.14;
double circle(double n1) => n1 * n1 * pi;
rectangle(n1, n2) => n1 * n2;