본문 바로가기
Flutter

[플러터 05] Dart언어의 기초1

by JINJINC 2025. 1. 2.
728x90
반응형
변수 

 

= 은 대입연산자

오른족 에 있는 값을 변수에 대입할 때 사용

오른쪽에 있는값  => (자바에서 리터럴)

 

기본 메모리 공간

스택(stack) - 지역변수, 매개변수

힙 영역(Heap) - 동적 변수, 객체 등 

정적 영역(Static) - 전역변수, 클래스의 static 변수, 컴파일 시점 상수 등 

// 코드의 시작점
void main() {
  // 데이터란?
  // 사물이리나 현상에서 얻어진 사실 또는 값을 의미한다.

  // 변수란 뭘까?
  // 값을 저장할 수 있는 메모리 공간, 즉 값을 저장해 놓고 이후에 재사용 하거나
  // 변경할 수 있도록 메모리 공간을 이름으로 할당한 개념을 말한다.

  // 데이터 타입이란?
  // 메모리 공간에 들어간 값의 형태이다.

  int n1 = 10;
  double d1 = 10.0;
  bool b1 = true;
  String s1 = '홍길동'; // 홑따옴표 권장 사항

  // dart 기본 메모리 공간 3가지
  // 스택(stack) - 지역 변수, 매개 변수
  // 힙 영역 (heap) - new / 리터럴로 선언된 값들
  // 정적 영역(Static) - 전역변수, 클래스의 static 변수, 컴파일 시점 상수 등
}​

 

 

 

 

타입확인

runtimeType을 활용하여 변수의 타입을 확인해 볼 수 있다.

 

// 코드의 시작점
void main() {
  // 타입 확인 - runtimeType 의 활용
  // 디버깅 및 오류 방지
  // 예상치 못한 타입의 값이 들어올 경우, 프로그램이 제대로 동작하지 않을 수 있다.
  // runtimeType 녀석을 활용해서 타입 체크를 할 수 있다.

  int n1 = 10;
  double d1 = 10.0;
  bool b1 = true;
  String s1 = '홍길동'; // 홑따옴표 권장 사항

  print('정수 : ${n1.runtimeType}');
  print('실수 : ${d1.runtimeType}');
  print('정수 : ${b1.runtimeType}');
  print('정수 : ${s1.runtimeType}');
}
더보기

결과

정수 : int
실수 : double
정수 : bool
정수 : String

 

타입추론 

Dart 언어는 타입 추론을 지원함 

값이 들어올 때 타입을 추론하여 변수를 초기화함 

var = 타입 변경 불가능

dynamic  = 타입 변경 가능

//코드의 시작점
void main() {
  // 타입 추론이란?
  // 개발자가 변수의 타입을 명시하지 않아도, 자동으로 적절한 타입을 결정해주는 기능
  // Dart 언어에서는 두가지 키워드를 제공합니다.
  // var , dynamic 두개의 키워드를 통해서 타입 추론을 제공한다.

  var n1 = 1;
  var d1 = 10.1;
  var b1 = true;
  var s1 = '홍길동';

  print('실수 : ${d1.runtimeType}');
  print('정수 : ${n1.runtimeType}');
  print('부울 : ${b1.runtimeType}');
  print('문자열 : ${s1.runtimeType}');

  print('--------------------------------');
  //var 키워드로 한 번 초기화된 데이터 타입은 다른 데이터 타입으로 변경이 불가능하다.
  //n1 = 20.1;  => 오류 발생

  dynamic dyN1 = 100;
  print('runtime1 : ${dyN1.runtimeType}');

  dyN1 = 20.5;
  print('runtime2 : ${dyN1.runtimeType}');

  //dynamic 타입은 모든 타입을 받을 수 있고 다른 타입으로 변경도 가능하다.
  
  
  //end of main
}
더보기

결과!!! 

실수 : double
정수 : int
부울 : bool
문자열 : String
--------------------------------
runtime1 : int
runtime2 : double

 

728x90
반응형

'Flutter' 카테고리의 다른 글

[플러터 06] Dart 연산자  (0) 2025.01.02
[플러터 04] 플러터란 ?  (2) 2025.01.02
[플러터 03] 플러터 기초1  (0) 2025.01.02

댓글