[내배캠 앱창업] Day 6

쏘쏠·2025년 12월 1일

1. 컬렉션(List / Set / Map)

데이터를 하나가 아니라 여러 개 다루기 시작하면 무조건 필요한 문법들이다.

✔ List

순서 있음

중복 가능

인덱스로 접근

우리가 알고 있는 배열 느낌
→ 대부분의 데이터는 일단 리스트에 담는다.

✔ Set

중복 없음

순서 없음
→ "중복 제거하고 싶다" 하면 무조건 Set.

✔ Map

Key → Value 구조

키 중복 불가

2. async / await

Future는 설명 그대로 “미래에 도착할 값”이고, async/await은 그걸 기다리는 문법.

다운로드

네트워크 요청

파일 저장
이런 건 다 시간이 걸리는 작업이라 비동기가 필수라고 한다.

비유:

동기 → 카페에서 커피 나올 때까지 멍하니 서 있는 상태
비동기 → 벨 받고 다른 일 하다가 커피 나오면 받으러 가는 상태

Flutter는 프레임 당 60~120번 화면을 그리기 때문에
조금이라도 멈추면 앱이 ‘멈춘 것처럼 보이는’ 문제가 생긴다.

3. Null Safety — 컴퓨터는 null을 싫어한다

Dart는 null safety가 강한 언어라서,
nullable로 선언하지 않으면 null 자체를 넣을 수 없게 막는다.

String name; → null 불가

String? name; → null 허용

그리고 null을 사용할 때 주의하라고 계속 알려준다.

?.

??

! (절대 null일 리 없다는 대전제)

4. 예외처리 (try / catch / finally)

네트워크 끊김

파일 없음

parse 실패

null 강제 호출 오류

이런 건 다 예외로 터지기 때문에
try-catch를 습관처럼 넣어야 한다.

flutter 앱 만들때 여기저기 넣어야겠다.

5. enum — “정해진 값들 세트”를 코드로 표현

요일, 색깔, 상태, 타입 등처럼
딱 정해진 값들만 원하는 경우 사용.

enum Weekday { monday, tuesday, wednesday ... }

문자열로 비교하는 코드보다 훨씬 안전하고 가독성도 좋다.

6. Dart의 네이밍 컨벤션

파일명 → snake_case

변수 / 함수명 → camelCase

클래스, enum → PascalCase

Flutter 코드 읽을 때 왜 다 이 스타일인지 오늘 깨달았다.

7. Dart가 어떤 언어인지 다시 정리

Google이 만든 멀티플랫폼 언어

Flutter의 기반

JIT + AOT 둘 다 지원

타입 안정성(Type Safe)

null 안전성(null safe)

문법이 직관적이고 배우기 쉬움

하나의 코드로 여러 플랫폼을 돌릴 수 있음(Android, IOS, Web, Desktop).

🧩 오늘 배운 거 정리

컬렉션(List/Set/Map)

async/await

Null Safety

try/catch

enum

네이밍 규칙

내일도 화이팅!

profile
Flutter 앱창업 일기장

0개의 댓글