[기초] Flutter required 키워드

[기초] Flutter required 키워드

required 키워드는 함수 또는 클래스의 매개변수가 필수임을 나타내는 데 사용되는 키워드임. 이를 통해 함수 호출 시 특정 매개변수가 반드시 제공되어야 함을 명시할 수 있음. Dart의 null 안전 기능을 활용하여 매개변수에 null을 허용하지 않도록 함

1. 명명된 매개변수에서 사용하기
dart
코드 복사
class User {
final String name;
final int age;

User({required this.name, required this.age});
}

void main() {
var user = User(name: “Alice”, age: 30); // 필수 매개변수를 제공
print(“Name: ${user.name}, Age: ${user.age}”);
}

위 예제에서 User 클래스의 생성자는 name과 age 매개변수를 required로 지정하였음. 따라서 이 두 매개변수는 클래스 인스턴스를 생성할 때 반드시 제공해야 함.

2. 함수에서 사용하기
dart
코드 복사
void greet({required String name}) {
print(“Hello, $name!”);
}

void main() {
greet(name: “Bob”); // 필수 매개변수를 제공
// greet(); // 오류 발생: ‘name’ 매개변수가 필수임
}
이 예제에서는 greet 함수가 name이라는 명명된 매개변수를 required로 지정하였음. 함수 호출 시 이 매개변수를 제공하지 않으면 오류가 발생함.

3. null 안전성
Dart의 null 안전 기능과 함께 사용하여, 코드를 작성할 때 매개변수가 null이 아닌 값을 가져야 한다는 것을 컴파일 시점에 확인할 수 있음. 이를 통해 런타임 오류를 줄일 수 있음.

 

메서드에서 네임드 파라미터를 지정하려면 {}와 required키워드를 작성해야함

String addName({

required String a,

required String b,

}){ return a+b;}

void main() {

addName( a: ‘김’, b:’나’);

}

만일 전달 값이 하나라면 대신 설정한 기본값이 들어감

int plus( int i, [int ii = 3] {

return i+ii

}

plus(2); -> 값은 5

일반파라메터와 섞어 쓸때는 네임드 파라미터가 뒤에 와야 한다

int plus( int a, { required int b, int c}) {

}

plus( 1, b:5, c:10);

Leave a Comment