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 합니다!



댓글 없음:

댓글 쓰기

PRD는 "절대문서"?.. 놉! — 앱 만들며 깨달은 것들

  지난 글에서 PRD가 뭔지, 어떻게 작성하는지 정리했었다.  이번엔 그 PRD를  실제로 "개발자 영어 학습 앱(Developer English)" 프로젝트에  써먹으면서 겪은 얘기를 해보려고 한다. 사실 이전까지 나는  기획 ...