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가 사용됩니다.
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로 정의하였습니다. address와 phone 매개변수는 Optional Parameters로 정의하였습니다. 이 함수를 호출할 때는 name과 age를 순서대로 전달하여야 하지만, address와 phone은 선택적으로 전달할 수 있습니다.
address, phone 매개변수는 nullable 변수로 선언되어, 값을 전달하지 않아도 null로 표기됩니다.
마무리
Dart에서 Optional Parameters와 Positional Parameters는 함수를 정의할 때 매개변수를 선택적으로 전달하거나 순서대로 전달할 수 있도록 지정할 수 있는 개념입니다.
Dart Optional Parameters와 Positional Parameters를 사용하면 함수를 호출할 때 매개변수를 전달할 때 순서와 선택적 전달 여부를 고려할 수 있어 함수의 사용성을 높일 수 있습니다.
오늘도 행복한 코딩생활 되시길 바라겠습니다.
감사합니다.
'개발 > Dart' 카테고리의 다른 글
Dart 기본 - 17. typedef, 복잡한 함수 타입을 간결하게 하는 방법 (0) | 2023.02.05 |
---|---|
Dart 기본 - 16. QQ 연산자 사용 방법, 삼항연산자보다 간편하게 쓰기 (0) | 2023.02.04 |
Dart 기본 - 14. named parameter, required 사용 방법 (0) | 2023.02.01 |
Dart 기본 - 13. 함수 정의하기, fat arrow 사용 방법 (0) | 2023.01.30 |
Dart 기본 - 12. Set 사용 방법 (1) | 2023.01.29 |
댓글