본문 바로가기
Skills/Dart

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

by Hoseok 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