Flutter 9기 창업/📚 Today I Learned

[Flutter 9기 창업반] 앱 개발 창업 부트캠프 9일차

히니미니마니모✦🇸​​🇹​​🇴​​🇷​​🇾​✦ 2025. 12. 4. 23:22

📌 오늘의 할 일 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 상단바