Flutter

[Flutter] 매개변수 없는 함수, 매개변수 있는 함수, 익명 함수 정리

mjjayce 2025. 4. 24. 21:33

매개변수 없는 함수 

 - 파라미터를 받지 않고 실행되는 함수

 

예시

void sayHello() {
  print('Hello');
}

 

매개변수 있는 함수

 - 외부에서 파라미터를 받아 실행되는 함수

 

예시

void greet(String name) {
  print('Hello, $name');
}

 

 

익명 함수

 - 이름 없는 함수

 - 일회용으로 사용하거나, 간단한 로직을 전달할 때 주로 사용

 

예시

(String name) {
  print('안녕하세요, $name');
}

 

 

 

 

코드를 작성하다 보면 함수를 다른 함수나 위젯의 파라미터로 사용하는 경우가 있다. 

이 때, 넣을 수 있는 함수의 타입을 정해야 안정성 있게 쓸 수 있기 때문에 매개변수 없는 함수, 매개변수 있는 함수를 유연성 있게 넣는 것이 불가능하다.

이 때 사용할 수 있는 것이 익명 함수이다.

 

매개변수 있는 함수를 익명 함수로 감싸 주면 매개변수 없는 함수 자리에 넣어 사용이 가능하다.

 

예시

void greet(String name) {
  print('Hello, $name');
}

매개변수 없는 함수만 올 수 있는 위치: greet('name'), // 오류 발생

매개변수 없는 함수만 올 수 있는 위치: () => greet('name'), // 오류 발생 X

// 매개변수 없는 함수만 올 수 있는 위치에 매개변수 없는 익명 함수를 넣었고, 익명 함수 내에서 greet이 실행되고 있기 때문!