728x90
728x90

Named Parameter, Unnamed Parameter

들어가며

  • DartNamed ParameterUnnamed 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