[Flutter] Dart - 선택적 매개변수

최재원's avatar
Jun 19, 2025
[Flutter] Dart - 선택적 매개변수

{} 범위에 들어간 변수는 선택적 매개변수

null이 들어갈 수 있는 변수가 됨
값을 넣지 않아도 함수 콜 할 때 빨간줄이 뜨지 않음
void add({int? n1, int? n2}) { print(n1! + n2!); }
  • !를 넣어서 빨간줄을 제거 할 수 있음
  • 문제는 함수를 호출할 때 n2가 안 들어가면 nullPointException 이 터짐

기본값을 넣어서 처리

void add2({int n1 = 0, int n2 = 0}) { print(n1 + n2); }

required 무조건 값을 받아야 함

void add3({required int n1, required int n2}) { print(n1 + n2); }
  • 함수를 호출할 때 빨간줄로 알려줌
  • 기본 사용법과의 차이점 → 키 값으로 순서 상관없이 인수를 넣을 수 있다
void add4(int n1, {required int n2, int n3 = 0}) { print(n1 + n2 + n3); }

키 값으로 전달하면서 사용 가능

void main() { add(n1: 1, n2: 3); add2(n1: 1); add3(n1: 1, n2: 3); add4(1, n2: 3); }

 
// 선택적 매개변수 // 1. 키값으로 전달할 수 있다. void add({int? n1, int? n2}) { print(n1! + n2!); } void add2({int n1 = 0, int n2 = 0}) { print(n1 + n2); } void add3({required int n1, required int n2}) { print(n1 + n2); } void add4(int n1, {required int n2, int n3 = 0}) { print(n1 + n2 + n3); } void main() { //add(n1: 1, n2: 3); //add2(n1: 1); //add3(n1: 1, n2: 3); add4(1, n2: 3); }
Share article

jjack1