-
Dart#4. 문법 기초 정리 (Optional Parameters, Null Safety, Typedef)프론트/Dart 2025. 10. 1. 19:56
1. 선택적 위치 파라미터 (Optional Positional Parameters)
Dart에서는 함수의 매개변수를 선택적으로 받을 수 있음. 대괄호 [] 안에 넣고 기본값을 주면, 인자를 생략해도 함수 호출이 가능하다.
String sayHello(String name, int age, [String country = 'cuba']) => 'Hello $name, you are $age years old from $country'; void main() { print(sayHello('jeongwon', 24)); // country를 생략했으므로 기본값 'cuba' 사용 }👉 핵심: 대괄호 [] + 기본값 으로 선택적 파라미터 구현
2. Null Safety와 특수 연산자
Dart는 null safety를 지원한다.
- ?. → null이 아니면 실행
- ?? → null이면 오른쪽 값 사용
- ??= → null일 때만 대입
String capitalizeName(String? name) => name?.toUpperCase() ?? 'ANON'; void main() { print(capitalizeName('jeongwon')); // JEONGWON print(capitalizeName(null)); // ANON }void main() { String? name; name ??= 'jeongwon'; // null이므로 대입 name ??= 'another'; // 이미 값이 있으므로 무시 print(name); // jeongwon }👉 핵심: 널일 수도 있는 상황을 안전하게 처리하는 문법
3. typedef (타입 별칭)
긴 타입 이름을 짧고 읽기 좋게 만들 수 있다.
typedef ListOfInts = List<int>; ListOfInts reverseListOfNumbers(ListOfInts list) { return list.reversed.toList(); } typedef UserInfo = Map<String, String>; String sayHi(UserInfo userInfo) { return "Hi ${userInfo['name']}"; } void main() { print(reverseListOfNumbers([1, 2, 3])); // [3, 2, 1] print(sayHi({"name": "jeongwon"})); // Hi jeongwon }👉 핵심: 코드 가독성을 높이고 의미 있는 이름을 줄 수 있음
오늘 느낀 점 ✍️
- Dart 문법이 생각보다 간결하면서도 강력하다.
- 특히 ??, ??=, ?. 같은 연산자는 널 처리 코드량을 줄이는 데 유용하다.
'프론트 > Dart' 카테고리의 다른 글
Dart# Fin. OOP 의 심화(상속, 추상, Mixin) (0) 2025.10.07 Dart 5#. 클래스와 생성자 (0) 2025.10.06 Dart#3. 함수 (0) 2024.11.03 Dart#2. 자료형 (0) 2024.10.29 Dart #1. Hello World (0) 2024.10.27