[기초] 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);