728x90
반응형
필수 매개변수
Dart에서 함수나 위젯 생성자의 괄호 () 안에 기본값 없이 정의된 매개변수는 필수로 간주됩니다.
이러한 매개변수는 함수나 위젯 인스턴스를 생성할 때 값이 제공되어야 하며, 그렇지 않으면 코드는 컴파일되지 않습니다.
void greet(String name) {
print("안녕, $name!");
}
이 경우, name은 필수 매개변수입니다. 인자 없이 greet()를 호출하는 것, 즉 greet()는 컴파일 시간 오류를 발생시킵니다.
선택적 위치 매개변수
Dart는 대괄호 [] 안에 정의된 선택적 위치 매개변수를 허용합니다.
이 매개변수는 함수를 호출할 때 생략할 수 있습니다.
생략되면 기본적으로 null이 되거나 지정된 기본값을 가집니다.
void greet(String name, [String? salutation]) {
print("${salutation ?? '안녕'}, $name!");
}
이 예에서 salutation은 선택적이며 생략할 수 있습니다.
제공되면 인사말에 사용되고, 그렇지 않으면 '안녕'이 사용됩니다.
명명된 매개변수
명명된 매개변수는 특히 매개변수가 많은 함수나 위젯에서 더 많은 유연성을 제공합니다.
중괄호 {} 안에 정의된 명명된 매개변수는 required 키워드로 표시되지 않는 한 기본적으로 선택적입니다.
void greet({String? name, required String salutation}) {
print("$salutation, ${name ?? '여러분'}!");
}
여기서 salutation은 필수 명명된 매개변수이고, name은 선택적입니다.
함수를 호출할 때 명명된 매개변수는 매개변수 이름을 사용하여 지정되므로 코드의 가독성을 향상시킵니다.
Flutter 위젯에서의 사용
Flutter는 위젯 속성에 명명된 매개변수를 광범위하게 사용하여 위젯을 쉽게 커스터마이징할 수 있게 합니다.
Text(
'안녕, Flutter!',
textAlign: TextAlign.center,
style: TextStyle(color: Colors.blue),
)
이 Text 위젯에서 textAlign과 style은 선택적인 명명된 매개변수로, 표시되는 텍스트를 유연하게 커스터마이징할 수 있게 합니다.
728x90
반응형
'Skills > Dart' 카테고리의 다른 글
Dart에서의 super 키워드 (0) | 2024.02.07 |
---|---|
final과 const의 차이 (1) | 2024.02.07 |
[Dart문법] 변수 (0) | 2023.02.05 |