본문 바로가기
Skills/Dart

Dart의 필수, 선택적, 명명 매개변수 알아보기

by Homil-Rye 2024. 2. 6.
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