[플러터] 4. Dart (1) 변수, null 대체 연산자, 익명 함수

KangHo Lee's avatar
Dec 20, 2024
[플러터] 4. Dart (1) 변수, null 대체 연산자, 익명 함수
💡
VScode로 Dart 문서를 작성할 때 Dart 확장 프로그램을 깔면 좋습니다.

1. 변수

// 타입은 총 4개 int n1 = 1; double d1 = 10.1; bool b1 = true; String s1 = "홍길동"; void main() { print("n1 ${n1.runtimeType}"); print("d1 ${d1.runtimeType}"); print("b1 ${b1.runtimeType}"); print("s1 ${s1.runtimeType}"); }
  • class 밖에 적을 경우 static 변수로 취급합니다.
  • int 가 자바의 Integer 역할까지 가능합니다.
    • int.method() 가 가능합니다.
  • print 함수의 경우 “n1 “ + n1.runtimeType이 아니라 "n1 ${n1.runtimeType}" 처럼 1번에 작성 가능합니다.
var n2 = 10; dynamic n3 = 20; void main() { n2 = 10.5; // 불가능 n3 = 20.5; // 가능 }
  • 타입 추론
    • 값이 들어올 때 타입을 추론하여 변수를 초기화합니다.
  • var 은 타입 변경이 불가능하고 dynamic은 타입 변경이 가능합니다.

2. null 대체 연산자

void main() { String username = null; // 오류 String? username = null; // ? 붙여야 null을 가질 수 있는 타입 print(username == null ? "홍길동" : username); print(username ?? "홍길동"); // null 대체 연산자 }
  • 변수가 null로 초기화되려면 ? 가 타입 뒤에 붙어야 합니다.
  • ?? → null 대체 연산자입니다.

3. 익명 함수

  • 익명 함수는 이름이 없는 함수로 일회성 작업이나 다른 함수에 인자로 전달될 때 사용됩니다.
var j = return1() { // 문법 오류 return 1; }; var j = () { // 익명 함수 return 1; }; void main() { int result = j(); print(result); }
  • var j = return1() { return 1; } 을 하려면 일반적인 함수 정의를 활용합니다.
int return1() { return 1; } var j = return1;
💡
함수(Function)은 클래스 외부에 존재하고 메서드(method)는 클래스 내부에 존재합니다.
 
Share article

devleekangho