728x90
728x90
Named Parameter, Unnamed Parameter
들어가며
- Dart의 Named Parameter와 Unnamed Parameter에 대해 간단하게 정리해본다.

Parameter
① Unnamed Parameter
개념
- Positional Parameter라고도 불린다.
- 함수에 전달하는 인자의 순서가 중요하다.
- 호출할 때 이름 없이 값만 전달한다.
- 잘못된 순서로 함수에 인자를 전달하면 오류가 발생하거나 잘못된 값으로 매핑된다.
- 매개변수가 1~2개 정도이거나, 인자의 순서가 명확하고 단순할 때 사용한다.
매개변수(Parameter)는 함수를 정의할 때 사용하는 변수로, 함수를 받을 값의 '자리'를 의미한다. 인자(Argument)는 함수를 호출할 때, 실제로 전달하는 값을 의미한다.
예시 코드
void addExpense(String title, double amount) {
print('$title - $amount');
}
addExpense('Coffee', 4.5);
// 순서를 바꿔서 인자로 넘기면 오류 발생
addExpense(4.5, 'Coffee'); // 타입 오류
② Named Parameter
개념
- 이름을 지정해서 함수에 인자를 전달한다.
- 전달하는 인자의 순서가 중요하지 않다.
- 사용할 경우, 코드의 가독성이 좋아진다.
- @required@ 키워드로 필수 인자값을 지정할 수 있다.
- Flutter에서는 모델 생성자나 위젯 생성자에서는 Named Parameter를 거의 표준처럼 사용한다.
예시 코드
void addExpense({
required String title, // 필수값
required double amount,
DateTime date,
}) {
print('$title - $amount ($date)');
}
addExpense(
title: 'Coffee',
amount: 4.5,
);
// 전달하는 인자의 순서를 변경해도 된다.
addExpense(
amount: 4.5,
title: 'Coffee',
);
비교
| 상황 | 추천 방식 |
| 매개변수가 1~2개인 경우 | Positional Parameter |
| 매개변수가 3개 이상인 경우 | Named Parameter |
| 모델 클래스 생성자 | Named Parameter (대부분) |
| 가독성이 중요한 경우 | Named Parameter |
| 구분 | Unnamed Parameter | Named Parameter |
| 전달 방식 | 순서 기반 | 이름 기반 |
| 순서 중요성 | O | X |
| 가독성 | 낮음 | 높음 |
| @required@ 키워드 사용 가능 여부 | X | O |
JavaScript에서의 사용
- JavaScript에서도 Unnamed(Positional) Parameter와 Named Parameter를 사용한다.
- JavaScript에서는 Unnamed(Positional) Parameter가 기본 파라미터로 사용된다
- Dart에서는 Named Parameter가 기본 파라미터로 사용된다.
- JavaScript에서는 Named Parameter 사용 시, @required@ 키워드를 사용할 수 없다.
- 대신 직접 체크해야 한다.
// (1) Unnamed(Positional) Parameter
function addExpense(title, amount) {
console.log(title, amount);
}
addExpense('Coffee', 4.5);
// (2) Named Paramter
function addExpense({ title, amount }) {
console.log(title, amount);
}
addExpense({
title: 'Coffee',
amount: 4.5
});
// - required 키워드 사용 불가
// -> 대신, 직접 체크한다.
function addExpense({ title }) {
if (!title) {
throw new Error('title is required');
}
}
참고 사이트
Functions
Everything about functions in Dart.
dart.dev
Default parameters - JavaScript | MDN
developer.mozilla.org
728x90
728x90
'Programming > Dart' 카테고리의 다른 글
| [Dart] Initializer List (0) | 2026.02.19 |
|---|---|
| [Dart] Trailing Comma 적용 방법 (0) | 2026.02.07 |
| [Dart] 자료형 비교 (var, const, final) (0) | 2026.02.03 |
| [Dart] 함수 파라미터(Argument/Parameter) (0) | 2026.01.30 |