본문 바로가기
개발/Dart

Dart 기본 - 15. Optional Parameters 와 Positional Parmeters

by 왼하루 2023. 2. 2.
반응형

Dart에서 함수를 정의할 때 매개변수를 선택적으로 전달하거나 순서대로 전달할 수 있도록 지정할 수 있습니다. 이를 위해 Dart에서는 Optional Parameters와 Positional Parameters라는 개념을 제공합니다.

 

 

Optional Parameters 와 Positional Parameters

Optional Parameters 는 함수를 호출할 때 선택적으로 매개변수를 전달할 수 있도록 지정할 때 사용하고, Positional Parameters는 함수를 호출할 때 순서대로 매개변수를 전달할 수 있도록 지정할 때 사용합니다.

 

 

Optional Parameters

앞서 설명과 같이 Optional Parameters는 함수를 호출할 때 선택적으로 매개변수를 전달할 수 있도록 지정할 때 사용합니다. 함수를 정의할 때 Optional Parameters를 지정할 때는 기본값을 지정할 수 있습니다. 예를 들어, 아래와 같이 함수를 정의할 수 있습니다.

void printPerson(String name, [int? age = 25]) {
  print('Name: $name, Age: $age');
}

void main() {
  printPerson('John');
}

 

printPerson 함수에서 age 매개변수를 Optional Parameters로 정의하였습니다. main 함수에서는 printPerson 함수를 호출할 때 age 매개변수를 전달하지 않았지만, 함수 정의에서 지정한 기본값인 25가 사용됩니다.

Optional Parameters

 

 

Positional Parameters

Positional Parameters를 사용하면 함수 호출 시 매개변수를 전달할 때 순서를 고려할 수 있습니다. 예를 들어, 아래와 같이 함수를 정의할 수 있습니다.

void printPersonDetails(String name, int age,
    [String? address, String? phone]) {
  print('Name: $name, Age: $age, Address: $address, Phone: $phone');
}

void main() {
  printPersonDetails('John', 25);
}

 

printPersonDetails 함수에서는 name, age 매개변수를 Positional Parameters로 정의하였습니다. addressphone 매개변수는 Optional Parameters로 정의하였습니다. 이 함수를 호출할 때는 nameage를 순서대로 전달하여야 하지만, addressphone은 선택적으로 전달할 수 있습니다.

Positional Parameters

address, phone 매개변수는 nullable 변수로 선언되어, 값을 전달하지 않아도 null로 표기됩니다.

 

 

마무리

Dart에서 Optional Parameters와 Positional Parameters는 함수를 정의할 때 매개변수를 선택적으로 전달하거나 순서대로 전달할 수 있도록 지정할 수 있는 개념입니다.

Dart Optional Parameters와 Positional Parameters를 사용하면 함수를 호출할 때 매개변수를 전달할 때 순서와 선택적 전달 여부를 고려할 수 있어 함수의 사용성을 높일 수 있습니다.

 

오늘도 행복한 코딩생활 되시길 바라겠습니다.

 

감사합니다.

 

 

 

 

 

댓글