본문 바로가기

flutter앱개발과정

dart 기본문법 공부 기록

1. 변수란?

변수는 데이터를 저장하는 공간이다. 쉽게 말해, '데이터를 담는 상자'라고 생각할 수 있다. 예를 들어, "나이"라는 이름의 상자를 만들고, 그 안에 25라는 숫자를 담는 것이다. 변수를 통해 저장된 데이터는 필요할 때 꺼내서 사용할 수 있다.


2. 변수 종류

1. 변경 가능한 변수 (변수)

    • 형식:
      [타입] [변수 이름] = [값];
    • 예시:
int age = 30; String name = 'Bob'; bool isStudent = true;

타입 추론

  • 변수에 값을 할당하면 컴퓨터가 타입을 자동으로 추론할 수 있다.
  • 예시:
var name = 'Bob';

위와 같이 var를 사용하면, 값에 따라 타입이 자동으로 결정된다.

2. 변경 불가능한 변수 (상수)

  • final 변수: 프로그램 실행 중 값이 결정되는 변수이다.

예시:

final firstCurrentTime = DateTime.now();​
  • const 변수: 프로그램 실행 전부터 값이 고정되는 변수이다 (컴파일 시점에 값이 결정된다).
    • 예시:
const pi = 3.14159;

차이점

  • final은 런타임 시점에 값이 결정되지만, const는 컴파일 시점에 값이 고정된다.

3. late 변수

  • late는 초기화가 늦어지는 변수를 의미한다.
  • 형식:
     
    late [타입] [변수 이름];
  • 초기화 시점이 늦어져도 null을 허용하지 않으며, 값을 사용하기 전에 반드시 초기화해야 한다.
  • 예시:
late String description; 
void main() {
description = '설명입니다.'; print(description); // 출력: 설명입니다. 
}

3. 데이터 타입

타입은 변수에 저장될 수 있는 데이터의 종류를 말한다.

1. 숫자형

  • int: 정수형 데이터이다.

예시:

int age = 25;
 
  • double: 실수형 데이터 (소수점 포함)이다.

예시:

double pi = 3.14;
  • num: int와 double의 상위 클래스 (모든 숫자 유형을 포함)이다.
    • 예시:
num number = 2.5;

2. 문자형 (String)

  • 문자열을 다루는 타입이다.

예시:

 
String name = 'Alice';
 
  • 문자열 안에서 변수 값이나 표현식을 포함하려면 ${}를 사용한다.

예시:

String name = 'Bob'; print('Hello, my name is $name.');

 

 

3. 불리언형 (Boolean)

  • true 또는 false 값을 가지는 타입이다.

예시:

bool isActive = true;

4. null

  • 값이 없음을 나타내는 타입이다. ?를 사용해 변수에 null 값을 허용할 수 있다.

예시:

int? age = null;

 

 

4. 연산자 (Operators)

연산자는 데이터를 처리하거나 계산하는 데 사용되는 기호이다.

1. 산술 연산자

  • +: 덧셈
    • 예시:
      print(2 + 3); // 출력: 5
  • -: 뺄셈
    • 예시:
       
      print(5 - 3); // 출력: 2
  • *: 곱셈
    • 예시:
       
      print(2 * 3); // 출력: 6
  • /: 나눗셈
    • 예시:
       
      print(5 / 2); // 출력: 2.5
  • ~/: 나누기 후 정수 부분만 반환
    • 예시:
       
      print(5 ~/ 2); // 출력: 2
  • %: 나머지
    • 예시:
       
      print(5 % 2); // 출력: 1
print(2 + 3); // 출력: 5

2. 비교 연산자

  • ==: 두 값이 같으면 true, 다르면 false
    • 예시:
       
      print(4 == 4); // 출력: true
  • !=: 두 값이 다르면 true, 같으면 false
    • 예시:
       
      print(4 != 5); // 출력: true
  • >: 왼쪽이 크면 true
    • 예시:
       
      print(5 > 2); // 출력: true
  • <: 왼쪽이 작으면 true
    • 예시:
       
      print(2 < 5); // 출력: true
  • >=: 왼쪽이 크거나 같으면 true
    • 예시:
       
      print(5 >= 5); // 출력: true
  • <=: 왼쪽이 작거나 같으면 true
    • 예시:
       
      print(2 <= 5); // 출력: true

6. 조건문 (if 문)

조건문은 주어진 조건에 따라 코드를 실행하거나 실행하지 않도록 제어하는 문법이다.

기본 if 문

주어진 조건이 true일 때 실행되는 구문이다.

 

if (조건) { // 조건이 true일 때 실행될 코드 }

else 문

조건이 false일 때 실행되는 구문이다.

 
if (조건) { // 조건이 true일 때 실행될 코드 } else { // 조건이 false일 때 실행될 코드 }

else if 문

여러 조건을 확인할 때 사용하는 구문이다.

 
if (조건1) { // 조건1이 true일 때 실행될 코드 } else if (조건2) { // 조건2가 true일 때 실행될 코드 } else { // 조건1, 조건2 모두 false일 때 실행될 코드 }

예시

int age = 18; if (age >= 18) { print('성인입니다.'); } else { print('미성년자입니다.'); }
  • 출력: 성인입니다.

7. 반복문 (for, while)

반복문은 주어진 조건에 따라 반복적으로 코드를 실행할 때 사용된다.

for 문

일정한 횟수만큼 반복하는 데 사용된다.

 
for (초기화; 조건; 증감식) { // 반복할 코드 }

예시

for (int i = 1; i <= 5; i++) { print(i); }
  • 출력:
    1 2 3 4 5

while 문

주어진 조건이 true인 동안 반복된다.

 
while (조건) { // 반복할 코드 }

예시

int i = 1; while (i <= 5) { print(i); i++; }
  • 출력:
    1 2 3 4 5

do-while 문

조건을 체크한 후 실행되므로, 조건이 false여도 코드가 최소 한 번은 실행된다.

 
do { // 반복할 코드 } while (조건);

예시

int i = 1; do { print(i); i++; } while (i <= 5);
  • 출력:
    1 2 3 4 5

8. 주석 (Comments)

주석은 코드에서 실행되지 않는 설명을 추가할 때 사용된다. 코드의 가독성을 높이기 위해 작성하는 경우가 많다.

한 줄 주석

한 줄만 설명을 추가할 때 사용된다.

 

// 이것은 한 줄 주석입니다.

여러 줄 주석

여러 줄에 걸쳐 설명을 추가할 때 사용된다.

 
/* * 이것은 여러 줄 주석입니다. * 코드 블록 설명을 넣을 때 유용합니다. */

예시

// 이 변수는 나이를 저장합니다. int age = 25; /* 이 함수는 사용자 이름을 출력하는 함수입니다. 아래의 print문을 통해 이름을 출력합니다. */ void printName() { String name = 'Alice'; print(name); }