[Flutter] Dart 기본 문법 정리

Mingj00·2025년 1월 2일

Flutter

목록 보기
1/2

1. 다트 언어 특징

  1. 구글에서 만든 프로그래밍 언어
  2. Java, JavaScript, C#과 비슷한 문법
  3. 객체 지향 언어
  4. Null safety 지원 (변수에 Null 값 허용X)

2. 데이터 타입

구분자료형설명
숫자int정수형 숫자
double실수형 숫자
num정수형 또는 실수형 숫자
문자열string텍스트 기반 문자
불리언boolTrue 또는 False
자료형 추론var입력받은 값에 따라 자료형 결정. 한번 결정된 자료형은 변경 불가
dynamic입력받은 값에 따라 자료형 결정. 자료형 변경 가능

3. 다트 컬렉션

컬렉션은 여러 값을 하나의 변수에 저장할 수 있는 타입을 의미

  • List: 데이터 순서가 있고 중복 허용
  • Set: 데이터 순서가 없고 중복 허용하지 않음
  • Map: 키(key)와 값(value)으로 구성되며 키는 중복되지 않고 값은 중복 가능

4. 연산자

1. 산술 연산자

연산자설명
+덧셈
-뺄셈
*곱셈
/
%나머지
number++더하기 1
number--빼기 1
+=뎃셈 후 할당
-=뺄셈 후 할당
*=곱셈 후 할당
/=나눗셈 후 할당

2.null 관련 연산자

연산자설명
datatype?nullable타입
??=null일 때 할당
??null일 때 병합

3. 값 비교 연산자

연산자설명
==동등 비교
!=동등하지 않음
>크다
>작다
>=크거나 같다
<=작거나 같다

4. 타입 비교 연산자

연산자설명
is변수 타입 비교

5. 제어문

1. if-else

if (condition) {
	//조건이 참일 때 실행
} else if (condition2){
	//조건2가 참일 때 실행
} else{
	//모든 조건이 거짓일 때 실행
}

2. for

for(var i = 0; i < 5; i++){
	print('Hello, Dart $i);
}

i가 0부터 4까지 증가할 때마다 "Hello, Dart"와 i 값을 함께 출력

3. while

	var number = 5;
    while (number > 0) {
    print('countdown: $number');
    number--;
    }

number가 0보다 클 때마다 "Countdown: number"를 화면에 출력 후 number 1 씩 감소한다.

4. do-while

do {
  // 코드 블록 실행
} while (condition);

반복문을 최소 한 번 실행한 후 조건 확인

5. switch

switch (variable) {
  case value1:
    // value1일 때 실행
    break;
  case value2:
    // value2일 때 실행
    break;
  default:
    // 위의 값들과 일치하지 않을 때 실행
}

6. 함수와 람다

1. 익명함수와 람다함수

익명함수와 람다함수는 함수 이름이 없고 일회성으로 사용된다는 공통점이 있다. 주로 문법적으로 간결한 표현을 사용할 때 람다함수를 사용하고, 더 복잡한 로직이 필요한 경우에는 익명함수를 사용한다.

1) 익명함수

(매개변수){
	//함수 바디
}

이름이 없는 함수로 주로 일회성으로 사용할 함수를 선언할 때 사용

//익명함수 예시
var add = (int a, int b) {
  return a + b;
};

void main() {
  print(add(3, 5)); // 출력: 8
}

2) 람다함수

(매개변수) => // 단 하나의 스테이트먼트

짧고 간결한 익명함수를 표현할 때 사용.

//람다함수 예시
var multiply = (int a, int b) => a * b;

void main() {
  print(multiply(3, 5)); // 출력: 15
}

3. typedef와 함수

type는 함수 타입 정의에 사용된다. 함수가 무슨 동작을 하는지는 정의하지 않는다.

typedef Operation = void Function(int x, int y); //typedef 정의

// add 함수
void add(int x, int y){ 
 print("결괏값 : ${x+y}");
}

// subtract 함수
void subtract(int x, int y) {
 print("결괏값 : ${x-y}");
}

// main 함수
void main(){
 Operation oper = add;
 oper(1,2);
 
 oper = subtract;
 oper(1,2);
}

4.try...catch 예외처리

예외처리는 에러를 처리하는 방법이다. 에러가 나면 해당 부분의 코드는 작동하지않고 나머지 코드들은 정상적으로 실행될 수 있게 만든다.

try...catch문의 목적은 특정 코드의 실행을 시도해보고 문제가 있다면 에러를 잡으라는 뜻이다.

try {
  // 예외가 발생할 수 있는 코드
} catch (e) {
  // 예외가 발생했을 때 처리할 코드
}

try구문은 에러가 날 가능성이 있는 코드를 작성한다. 만약 에러 발생 시 catch구문에 작성된 코드가 실행된다.

0개의 댓글