Flutter

변수

ryeonng 2024. 9. 6. 10:29
대부분의 프로그래밍 언어의 구성
- 변수
- 조건문
- 반복문
- 함수(인수값) : 위 내용들을 가지고 미리 만들어 놓은 코드

 

  • dart 언어 기본
// main() 함수는  작성한 코드 부터 실행(실행 진입점)
// 각 구문은 세미콜론(;) 으로 끝나야 함
// 코드의 시작점 
void main() {
  print('Hello Dart');
} // end of main

 

  • 주석
// 메서드/클래스 정의 위에 주석을 작성하면 'dartdoc' 과 같은 문서 생성 도구를
/// 통해 문서 생성 가능
void main() {
  // 한줄 주석
  /**
   * 여러줄 주석 
   */
} // end of main

 

  • 변수
// 변수와 데이터 타입
void main() {
  int age = 20;
  double version = 10.0;
  String myName = 'Mike Kim';
  bool isTrue = false;
} // end of main

 

자동 형변환을 지원하지 않는다.
// 코드의 시작점
void main() {
  // dart 언어는 자동 형변환을 지원하지 않는다.
  int age = 20;
  double version = 10.0;
  
  //age = 20.5; 오류 발생
  //version = 20; : 20 -> 20.0 으로 변환되어 삽입
  version = age; // 자동 형변환 되지 않는다.
}

 

/// var : 프로그램 실행 시간에 변수의 데이터 유형이 정해진다.
/// 한번 초기화 되면 타입을 변경할 수 없다.
void main() {
  var data1 = 10;
  print(data1.runtimeType);
  var data2 = 'Hello';
  print(data2.runtimeType);
  var data3 = true;
  print(data3.runtimeType);

  // data1 = 200.123;
  // 초기화를 먼저 int 형으로 했기 때문에 데이터의 유형을 다시 변경할 수 없음
} //

 

/// dynamic : 프로그램 실행 시간에 변수의 데이터 유형이 정해진다.
/// dynamic 타입은 var 타입과 다르게 유형을 다시 변경할 수 있다.
void main() {
  dynamic data1 = 10;
  print(data1.runtimeType);
  dynamic data2 = 'Hello';
  print(data2.runtimeType);
  dynamic data3 = true;
  print(data3.runtimeType);

  data1 = 'Hello'; // 데이터 타입 변경 가능
  // 초기화를 먼저 int 형으로 했지만 다시 String 타입으로 변경 가능 하다.
} //

 


 

// 코드의 시작점
void main() {
  int n1 = 1;
  double d1 = 10.1;
  bool b1 = true;
  String s1 = "홍길동";
  // print() 함수는 Console에 출력을 해주는 함수이다.
  // ${}를 활용하면 문자열에 변수를 바인딩할 수 있다. 
  // print("정수 : ${n1}");
  print("실수 : ${d1}");
  print("부울 : ${b1}");
  print("문자열 : ${s1}");
}
실수 : 10.1
부울 : true
문자열 : 홍길동

 


runtimeType으로 타입을 확인할 수 있다.

 

// 코드의 시작점
void main() {
  
  int n1 = 1;
  double d1 = 10.1;
  bool b1 = true;
  String s1 = "홍길동";
  
  print("정수 : ${n1.runtimeType}");
  print("실수 : ${d1.runtimeType}");
  print("부울 : ${b1.runtimeType}");
  print("문자열 : ${s1.runtimeType}");
}
정수 : int
실수 : double
부울 : bool
문자열 : String

 


 

// 코드의 시작점
void main() {
  // var : 한 번 데이터 타입이 정해지면 변경할 수 없다.
  // var n1 = 1;
  
  // dynamic은 데이터 타입의 변경이 가능하다.
 dynamic n1 = 1;
  n1 = 10.1;
  
 print(n1);
}
10.1

 


 

사전 기반 지식

data란

데이터는 정보를 나타내는 단순한 값 또는 사실의 집합이다.
컴퓨터 과학에서 데이터는 컴퓨터가 처리할 수 있는 형식으로 표현된 정보를 말한다.

프로그래밍에서 데이터는 변수, 상수, 배열, 리스트, 오브젝트, 클래스 등을 통해 표현되며 CRUD가 가능하고, 전송될 수 있다. 데이터 타입은 데이터의 종류를 결정하고, 어떤 연산이 가능한지 결정하는 분류 체계이다. 예를 들어, 정수 데이터 타입의 데이터는 덧셈, 뺄셈 등의 산술 연산이 가능하다.

데이터는 또한 데이터베이스에서 정보를 저장하는 데 사용된다. 이 경우, 데이터는 종종 테이블의 형태로 구조화되어 있으며, 각 테이블은 서로 연관된 데이터의 집합을 나타낸다. 예를 들어, '사용자' 테이블은 이름, 이메일 주소, 전화번호 등의 사용자 정보를 포함할 수 있다.

마지막으로, 데이터는 분석을 통해 의사 결정에 도움을 줄 수 있는 인사이트를 얻는 데 사용된다. 데이터 분석은 대용량의 데이터에서 패턴을 찾고, 추세를 파악하고, 예측을 만드는 과정이다. 이는 비즈니스, 과학, 의료, 정부 등 다양한 분야에서 사용된다.

 

 

변수 vs 상수

변수란 data를 보관할 수 있는 메모리 저장 공간이며 변하는 값(단순한 수치)이기도 하다.

상수란 data를 보관할 수 있는 메모리 저장 공간이며 한 번 초기화되면 변경할 수 없는 값 (단순한 수치)이기도 하다.

 

 

데이터 타입(자료형)

변수를 선언할 때 함께 지정되며, 해당 변수가 어떤 종류의 데이터를 저장할 수 있는지 결정한다.

 

 

Built-in types(내장형)

Dart는 객체 지향 언어이며, Dart의 거의 모든 것이 객체이다. 이는 숫자, 함수, null도 포함되어 있다. 그래서 Dart의 모든 것은 Object 클래스의 인스턴스라고 할 수 있다. Object 클래스는 모든 클래스의 슈퍼 클래스이다.

int 자료형에서 object 클래스의 기능은 toString()을 사용할 수 있다. 또한 List, Set, Map 에서도 Object 클래스의 기능은 toString() 메서드를 활용할 수 있다. 즉, . 연산자를 사용할 수 있다.

 

Data Type Keyword 설명
숫자 int, double, num 숫자 값을 나타냅니다.
문자열 String 일련의 문자를 나타냅니다.
논리형 bool 부울 값 true 및 false를 나타냅니다.
자료형 List 정렬된 항목 그룹입니다.
자료형 Map 값 집합을 키-값 쌍으로 나타냅니다.
자료형 Set 동일한 유형의 고유한 값의 정렬되지 않은 목록입니다.
Runes runes 문자열의 유니코드 값을 나타냅니다.
Null null null 값을 나타냅니다.

 

Object

|

|__ String

|

|__ num

|   |

|   |__ int

|   |

|   |__ double

|

|__ bool

|

|__ List

|

|__ Map

|

|__ Set

|

|__ Runes

| …

 

 

Special Character In String

Special Character Work
\n New Line
\t Tab

 

'Flutter' 카테고리의 다른 글

dart(함수, 메서드)  (0) 2024.09.06
dart Null Safety  (1) 2024.09.06
컬렉션(자료구조)  (0) 2024.09.06
프로젝트 구조  (0) 2024.09.06