📌 오늘의 할 일 TO DO LIST
✅ Dart 프로그래밍 심화
하루종일 gpt랑 dart 문답과 실습 위주로 공부했던것들 정리 해달라고 했다.
손가락에 쥐날거 같네...
실습한거 정리 저 문구 하나당 최소 5번 이상은 직접 쓰면서 했으니 오죽이나 ㅋㅋㅋㅋ
오류 나는거 컨닝 하기도 싫어서 지피티에 직접 하는 바람에 더 여러번 쓴거 같다.
너무 과해서 나중엔 아는것도 틀리긴 했지만😂
막상 하루에 한것들을 정리해보니 은근히 많이 하긴 하는구나;
일단 머리에 다 때려넣고 복습하고 내가 다시 지피티한테 설명하고 다시 물어보고
이거 써봐라 저거 개념 설명해라 모르면 모른다고 지피티한테 욕이나 하고... ㅋㅋㅋㅋㅋ
나중에 AI한테 자아가 생기면 가장 먼저 내 목을 칠 녀석이다☠️

📚 오늘 내가 실습한 것들 정리
- 함수 정의/호출 직접 타이핑
- 반환타입 없이 출력만 하는 함수 작성
- 반환타입(int, String, bool) 있는 함수 작성
- 짝수/홀수 판별 함수 만들기
- 문자열 출력 함수 만들기
- return 오류 직접 해결 (타입 미스매치 해결)
- optional parameter([], {}) 사용해 함수 만들기
- nullable(int?, String?) 매개변수 사용
- ??로 null 처리
- 논리연산자 사용 (==, !=, &&, ||)
- if / else if / else 조건문 실습
- bool 함수 직접 작성
- 할인함수(discount) 제작 → (계산 + toInt()) 해결
- main()에서 함수 여러 개 호출해보기
- 변수/값/반환타입 헷갈렸던 부분 해결
- Random, 클래스/생성자 개념 일부 이해 시작
- Set / List 사용 경험 (기초만)
📚 오늘 배운 개념 요약
✔ 함수(Function) 관련 개념
| 개념 | 설명 |
| 함수 정의 | 함수를 만들어두는 것 |
| 함수 호출 | 함수를 실행하는 것 |
| 반환타입(Return Type) | 함수가 어떤 값을 돌려줄지 결정 |
| return | 값을 돌려주는 문장 |
| void | 아무 값도 돌려주지 않는 함수 |
| 매개변수(Parameter) | 함수에 전달하는 값 |
| nullable 매개변수 | int?, String? 등 null 허용 |
✔ 매개변수 종류
| 종류 | 문법 | 특징 |
| 기본 매개변수 | (String name) | 반드시 넣어야 함 |
| Nullable | (int? num) | null 가능 |
| Optional (순서 기반) | ([String? name]) | 넣어도 되고 안 넣어도 됨, 순서 지켜야 함 |
| Optional (이름 기반) | ({String? name}) | 순서 상관 없음, 이름 지정해야 함 |
✔ Null 및 연산자
| 개념 | 설명 |
| null | 값이 없음 |
| int vs int? | int는 null 불가 / int?는 null 가능 |
| ?? | null이면 오른쪽 값 사용 |
| ?. | null-safe 접근 (오늘은 간단히 이해) |
| ! | null 아님을 강제 (오늘은 사용만 배움) |
✔ 논리/비교 연산자 (흐름 제어 핵심)
| 연산자 | 의미 |
| == | 같다 |
| != | 같지 않다 |
| >, <, >=, <= | 숫자 비교 |
| && | 그리고 |
| || | 또는 |
| ! | 반대(not) |
✔ 조건문 (오늘 실습 상당히 많이 함)
| 문법 | 역할 |
| if | 조건 만족 시 실행 |
| else if | 추가 조건 |
| else | 모든 조건 실패 시 실행 |
✔ 타입 & 변수 기초
| 개념 | 설명 |
| String | 문자열 |
| int | 정수 |
| double | 소수 |
| bool | true/false |
| var | 자동 타입 추론 |
| final | 한 번 정해지면 바꿀 수 없음 (런타임 값 가능) |
| const | 컴파일 시점에 확정된 값 |
✔ List / Set 기본 개념
| 컬렉션 | 특징 |
| List | 순서O, 중복O, 자동정렬X |
| Set | 순서X, 중복X |
| toList | Set → List 변환 |
| sort | 리스트 정렬 |
✔ 클래스(Class) 기초 개념
| 개념 | 설명 |
| 클래스(Class) | 객체를 만들기 위한 설계도. 구조와 기능을 정의한 틀 |
| 객체(Object) | 클래스로부터 실제로 만들어진 결과물 |
| 생성자(Constructor) | 객체를 만들 때 호출되는 특수한 함수. 보통 클래스 이름과 동일 |
| (예시) | Random() → Random 클래스의 생성자를 호출해 ‘랜덤 객체’를 만드는 것 |
1. 기본 타입(Primitive-like Class)
프로그래밍에서 가장 많이 쓰는 “데이터 타입”이지만, 사실 Dart에서는 이것들도 클래스임.
| 종류 | 설명 |
| String | 문자열을 표현하는 클래스 |
| int | 정수를 표현하는 클래스 |
| double | 소수를 표현하는 클래스 |
| bool | true/false 표현 |
| List | 순서 있는 데이터 집합 |
| Map | key-value 구조 |
| Set | 중복 없는 데이터 집합 |
2. 유틸리티 클래스(Utility Class)
특정 기능을 도와주는 도구 같은 클래스들.
| 종류 | 설명 |
| Random | 랜덤 값 생성 |
| Duration | 시간 표현 (1초, 500ms 등) |
| DateTime | 날짜·시간 관련 기능 |
| File | 파일 읽기/쓰기(나중에 많이 씀) |
| Math 관련 클래스 | 수학 기능 포함 |
| Future | 비동기 작업 처리 (나중에 깊게 배움) |
| Stream | 여러 값을 시간 순서대로 받는 비동기 처리 |
3. 설계도(Framework 클래스 — Flutter에서 등장)
UI를 그릴 때 사용하는 “화면 구성요소” 설계도들. 이건 Flutter 들어가야 본격적으로 사용함.
| 종류 | 설명 |
| Widget | 모든 플러터 화면 요소의 최상위 개념 |
| Text | 텍스트 위젯 |
| Column | 세로 배치 |
| Row | 가로 배치 |
| Container | 박스 형태 UI |
| Scaffold | 화면 기본 구조 |
| AppBar | 상단바 |
'Flutter 9기 창업 > 📚 Today I Learned' 카테고리의 다른 글
| [Flutter 9기 창업반] 앱 개발 창업 주말 복습 (0) | 2025.12.08 |
|---|---|
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 10일차 _ 개인과제 트러블 슈팅(TroubleShooting) (0) | 2025.12.05 |
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 8일차 (0) | 2025.12.03 |
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 7일차 (0) | 2025.12.02 |
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 6일차 (0) | 2025.12.01 |