728x90
728x90

제목

들어가며

  • Dart에서 사용하는 함수 파라미터(Parameter/Argument)에 대해 간단하게 정리해본다.

 

함수 파라미터(Argument/Parameter)

개념

  • 함수에 값을 전달하기 위해 사용하는 핵심 개념
  • 전달된 값은 화면에 표시, 계산, 다른 함수 호출 등에 사용됨
  • Dart에서는 2가지 파라미터 방식이 존재한다.

 

입력값은 함수 정의 시에는 매개변수(parameters), 함수 호출 시에는 인자(arguments)라고 부른다.

 

 

종류

① Positional Parameter (위치 기반 파라미터)

  • 전달한 순서(position)로 어떤 파라미터에 값이 들어갈지를 결정한다.
  • 기본적으로 필수(required)이며 생략할 수 없다.
void add(a, b) { // a, b는 positional parameter
  print(a + b);
}

add(5, 10); // 5 → a, 10 → b

 

  • 아래 호출은 에러를 발생시킨다.
add(); // positional parameter는 생략 불가

 

 

② Named Parameter (이름 기반 파라미터)

  • 전달 시 이름(name) 으로 어떤 파라미터에 값이 들어갈지ㄹ,ㄹ 지정한다.
  • 함수 정의 시 {} 중괄호로 감싼다.
  • 기본적으로 선택(optional) 이며 생략이 가능하다.
  • 전달 순서는 중요하지 않다.
void add({a, b}) { // a, b는 named parameter
  print(a + b);
}

add(b: 5, a: 10);

 

  • 아래와 같이 호출할 수도 있다.
add();
add(b: 5);

 

기본값, 필수값 설정하기

Positional Parameter를 Optional로 만들기

  • [] 대괄호로 감싸면 optional parameter가 된다.
void add(a, [b]) { // b는 optional
  print(a + b);
}

 

  • optional parameter에는 다음과 같이 기본값(default value)을 설정할 수 있다.
void add(a, [b = 5]) {
  print(a + b);
}

add(10);     // b = 5
add(10, 6);  // b = 6

 

Named Parameter의 기본값 설정

  • named parameter는 기본적으로 optional하지만, 다음과 같이 기본값을 지정할 수 있다.
void add({a, b = 5}) {
  print(a + b);
}

add(b: 10); // b = 10, a는 null

 

Named Parameter를 Required로 만들기

  • required 키워드를 사용하면 필수 파라미터로 변경할 수 있다.
void add({required a, required b}) {  // 두 값을 반드시 전달해야 한다.
  print(a + b);
}

add(a: 3, b: 4);
add(a: 3);  // ERROR
add(b: 3);  // ERROR

 

정리

구분 Positional Parameter Named Parameter
정의 형태 @(a, b)@ @({a, b})@
호출 형태 @add(5, 10)@ @add(a: 5, b: 10)@
기본 성격 필수 (Required) 선택 (Optional)
선택적으로 변경 @[ ]@ 사용 기본값이 선택형
필수적으로 변경 기본값이 필수 @required@ 키워드 사용

 

 

Flutter 위젯(MaterialApp, Text 등)은 대부분 named parameter 방식을 사용한다.

 

참고 사이트

 

Functions

Everything about functions in Dart.

dart.dev

 

728x90
728x90

'Programming > Dart' 카테고리의 다른 글

[Dart] Trailing Comma 적용 방법  (0) 2026.02.07
[Dart] 자료형 비교 (var, const, final)  (0) 2026.02.03