본문 바로가기
개념,기능 정리

dart(2) 설치, Variables

by rhdaud2 2025. 2. 3.

설치 | main function | 선언 

 

 

 

dart pad : https://dartpad.dev/

 

DartPad

 

dartpad.dev

 

sdk 설치 - flutter 설치 시, dart도 자동 설

 choco install dart-sdk
 or
 choco install flutter

 

dart sdk 업데이트

 choco upgrade dart-sdk

 

 

파일 형식 : --.dart

 

 

.

.

.

 

 

main function ( void main () {} ) : 모든 dart 프로그램의 엔트리 포인트

- main 메서드는 반드시 존재해야하며, 뭔가를 실행하는 코드는 main 함수 안에 작성

 


var, (타입 명으로 선언), final, dynamic, late(변수 선언 앞 수식어), ? , const, null safety, 

 

@@ class의 프로퍼티를 작성할때를 제외하고는, 타입 명 선언보다는 var 를 권장 @@

(구체화는 필수가 아님)

 

 

[ 변수 ]

(기본적으로 non-nullable)

 

선언 방식

1. var (타입 자동 추론됨)

void main() {
  var name = '종훈';
}

 

2. 명시적으로 변수의 타입 지정

void main() {
  String name = '종훈';
}

 

 

=> 관습적으로(dart style guide) ,

     함수/메서드 내부에 지역 변수 선언시에는 ' var ' 사용(1)

     class 에서 변수나 프로퍼티 선언 시 타입지정(2)

 

* dynamic : 다른 타입으로 재선언 가능(꼭 필요할 때에만 사용)

void main() {
// var로 식별자만 선언 or dynamic 키워드 사용 
  var name;
  name = 'string';
  name = true;

  dynamic age = 2;
  age = '2';
}

 

조건문 등으로 변수가 특정 타입일 때를 지정해줄 경우, 

해당 타입으로 인식하여 관련 메서드 제공

 

 

 

.

.

.

 

null safety

(개발자가 null을 참조할 수 없도록 하는 것)

- null을 참조하여 런타임 에러가 발생하지 않게 함

- 모든 변수는 기본적으로 non-nullable

 

* 변수가 null 일수도 있게 선언하려면 ? 사용

void main() {
  String? a = 'a';
  a = null;
  
  // null이 아닐 경우라는 조건 추가
  if (a != null) {
    a.isNotEmpty;
  }
  // 간단히 작성
  a?.isNotEmpty;
}

 

 

.

.

 

 

상수 : [ final ]

 

[ const ]

 

- compile-time constant 생성 (컴파일 시에 값을 알고있어야 작동)

 

.

.

.

 

[ late ]

- var , final 앞에 붙일 수 있는 수식어

 

 

'개념,기능 정리' 카테고리의 다른 글

dart(4) functions  (0) 2025.02.03
dart(3) Data Types  (0) 2025.02.03
dart(1) 배경  (0) 2025.02.03
타입스크립트 타입  (0) 2024.09.09
JavaScript event loop 에 관하여  (0) 2024.07.26