2026년 5월 7일 목요일

Dart 기초 문법 정리 (보면서 바로 공부하는 입문 가이드)

 

Dart 기초 문법 정리 (보면서 바로 공부하는 입문 가이드)

Flutter를 시작하려면 반드시 배우게 되는 언어  Dart
처음 보는 사람도 따라오면서 공부할 수 있게 실습 느낌으로 정리했다.

★★★복사해서 직접 실행해보는 걸 추천!★★★

Dart란?

Dart 는
Google 이 만든 프로그래밍 언어로, 주로 Flutter 앱 개발에 사용된다.



1. 기본 구조

void main() {
  print("Hello Dart!");
}

main() 함수 = 프로그램 시작 지점
print() = 출력


2. 변수 선언

void main() {
  String name = "홍길동";
  int age = 20;
  double height = 175.5;
  bool isStudent = true;

  print(name);
}

주요 타입

  • String -> 문자열

  • int -> 정수

  • double -> 실수

  • bool -> 참/거짓

 var 키워드 (자동 타입)

var name = "홍길동";

Dart가 알아서 타입을 추론


3. 조건문 (if)

void main() {
  int score = 85;

  if (score >= 90) {
    print("A");
  } else if (score >= 80) {
    print("B");
  } else {
    print("C");
  }
}

조건에 따라 다른 결과 실행


4. 반복문 (for)

void main() {
  for (int i = 0; i < 5; i++) {
    print(i);
  }
}

0부터 4까지 출력


5. 리스트 (List)

void main() {
  List<String> fruits = ["사과", "바나나", "포도"];

  print(fruits[0]); // 사과
}

여러 데이터를 저장하는 배열


6. Map (딕셔너리)

void main() {
  Map<String, String> user = {
    "name": "홍길동",
    "email": "test@test.com"
  };

  print(user["name"]);
}

key-value 형태 데이터


7. 함수 만들기

void greet(String name) {
  print("안녕하세요 $name");
}

void main() {
  greet("홍길동");
}

 재사용 가능한 코드 블록


8. 반환값 있는 함수

int add(int a, int b) {
  return a + b;
}

void main() {
  print(add(3, 5));
}


9. 클래스 (기초)

class Person {
  String name;
  int age;

  Person(this.name, this.age);

  void introduce() {
    print("저는 $name이고 $age살입니다");
  }
}

void main() {
  var p = Person("홍길동", 20);
  p.introduce();
}

객체지향의 시작


10. null 안전성 (중요 ★)

String? name = null;

? = null 허용

String name = "홍길동"; // null 불가

Dart는 null 안전성을 중요하게 다룸



직접 해보기 (연습 문제)

아래 코드를 직접 만들어보자

문제 1)

  • 이름과 나이를 변수로 선언

  • 출력하기

문제 2)

  • 점수 입력

  • A/B/C 출력

문제 3)

  • 숫자 1~10까지 출력

★이 3개만 직접 해보면 기초 문법 70% 이해한 것


공부 순서 추천

  1. 변수

  2. 조건문

  3. 반복문

  4. 함수

  5. 리스트 / Map

  6. 클래스

이 순서대로 반복


꿀팁

“읽기만 하면 절대 안 는다”

  • 꼭 직접 타이핑

  • 에러 일부러 내보기

  • 수정해보기


한 줄 정리

Dart는 Flutter 앱 개발을 위한 쉽고 강력한 언어다


다음 단계 추천

  • Flutter UI 기초

  • 위젯 개념 이해

  • 간단한 앱 만들기

처음엔 낯설지만, JavaScript 해봤다면 금방 익숙해진다.

코드 한 줄씩 직접 쳐보는 게 가장 빠른 공부법이다 


☆☆☆☆☆☆ 연습문제 답안

문제 1)

이름과 나이를 변수로 선언하고 출력

void main() {
String name = "홍길동";
int age = 20;

print("이름: $name");
print("나이: $age");
}

포인트

  • String, int 타입 이해
  • $변수 → 문자열 안에서 변수 사용 (문자열 보간)

문제 2)

점수에 따라 A / B / C 출력

void main() {
int score = 85;

if (score >= 90) {
print("A");
} else if (score >= 80) {
print("B");
} else {
print("C");
}
}

포인트

  • if / else if / else 구조
  • 조건은 위에서부터 순서대로 검사됨

문제 3)

숫자 1 ~ 10 출력

void main() {
for (int i = 1; i <= 10; i++) {
print(i);
}
}

포인트

  • i = 1 → 시작값
  • i <= 10 → 조건
  • i++ → 1씩 증가

문제 4) 추가 응용 문제 해봅시다.

짝수만 출력하기

void main() {
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
print(i);
}
}
}

포인트

  • % → 나머지 연산
  • i % 2 == 0 → 짝수

진짜 중요한 팁

여기서 실력 갈리는 포인트

❌ 그냥 읽기

✅ 직접 타이핑 + 수정

예를 들어:

  • 1~20 출력으로 바꿔보기
  • 홀수만 출력해보기
  • 점수 기준 바꿔보기

한 줄 정리

코드는 “보는 공부”가 아니라 “치는 공부”다


feat.주저리) 💬

언어라는건, 역시나 너무 어렵습니다.

FLutter 라는걸 하려면 알아야 하는 언어라 하여, 간략하게 공부 할 정보를 찾았고, 이래저래 해보는데 갑분 문제까지..@ㅡ@... 사실 바로 모르겠었어서 답안지보면서 직접 쳐보고 ㅋ 해보면서도 이게 머지 싶은데.. 일단 이런걸 해보라고 하니.. 무지성으로 도전ing 합니다!



댓글 없음:

댓글 쓰기

[웹개발 기초] 웹·앱 개발할 때 나오는 용어들, 역할이랑 관계까지 한 번에 정리해봤습니다

 안녕하세요! 오늘은 웹이나 앱 개발을 공부하다 보면 쏟아지는 용어들 정리해보려고 합니다. 처음에 개발 공부 시작하면 진짜 이게 제일 힘들어요. 개념 하나 찾으면 모르는 단어가 또 나오고, 그거 찾으면 또 모르는 게 나오는 그 무한루프... 저도 ...