그래, 하다하다 내가 주말에도 공부를 하다니 놀라운 일이다.
내가 이제는 나이가 있다보니 주말에 복습 안해놓으면 Re:제로에서 시작하는..... 부트캠프가 될 것 같거든..^^
각설하고🤐
주말 복습 내용들 정리 해본다.
📌 학습 목표
- Dart 언어의 함수 구조, 흐름 제어, 클래스 개념을 이해하고 실제 코드로 구현 능력 강화
- 함수를 값처럼 다루는 Dart의 특징
- 객체지향(OOP) 기초인 클래스와 메소드 호출 방식 실습
- 반복문(while)의 구조를 이해하고 간단한 동작 구현 -> 실습은 거의 못함 ㅋㅋ
📌 실습 내용 요약
(1) 함수(Function) 실습
- 함수 정의 및 호출을 직접 작성
- void 함수(반환 없는 함수) 제작
- int, String, bool 반환 함수 작성
- 문자열 보간법($name, ${name}) 사용
- 짝수/홀수 판별 함수 작성
- 점수/나이/음수·양수 판별 함수 작성
- return 구조 오류 직접 해결
- 화살표 함수(=>) 작성
- 삼항 연산자(조건 ? 참 : 거짓)로 함수 구현
(2) 조건문(if) 실습
- if / else if / else 흐름 구성 복습
- guard-like return 구조 익힘
| 일반 스타일 | guard 스타일 |
| 조건을 안쪽으로 계속 파고듦 | 잘못된 조건을 먼저 걸러냄 |
| 들여쓰기 증가 | 들여쓰기 없음 |
| 복잡 | 읽기 쉬움 |
| “if ~ else” 많이 씀 | return으로 조건을 바로 막음 |
- → 위에서 차단 → 아래로 개방 → 마지막 default
- 논리 연산자 (&&, ||, !) 활용 실습
- 잘못된 입력만 필터링하는 조건 설계 연습
(3) List + 함수(Function as Value) 실습
- 리스트에 함수 넣기 → [drink, rest]
- 리스트에서 함수 실행하기 → actions[0]();
- 함수 참조를 변수에 담기 → var a = hello; a();
- 괄호 유무 차이 이해
- hello → 함수 그 자체
- hello() → 함수 실행
- void 함수 실행 시 null 출력 발생 원인 이해
- (print(a()) → 반환값이 없기 때문)
(4) 클래스(Class) 실습
- 클래스 정의하기 (class Monster { ... })
- 멤버 메소드 작성 (roar(), start(), end() 등)
- 객체 생성: var m = Monster();
- 메소드 호출: m.roar();
- 클래스 내부 메소드에서 다른 메소드 호출
(play() 내부 → start() 실행) - print() vs 직접 호출의 차이 이해
- print(a.start()) → 반환된 문자열 출력
- a.start() → 실행만 진행
(5) while 반복문 기초
- while (조건) 구조 이해
- 감소 반복(5 → 1) i--(감소) / i++(증가)
- List 길이만큼 while 반복 구조 학습
- 아직 문제는 어려워하지만 기초 구조는 확실히 이해
📌 복습 핵심 개념
✔️ 함수는 “값”이다 (1급 객체)
- var a = drink; 처럼 함수도 변수에 들어감
- a() 로 실행
- → Dart의 매우 중요한 특징 중 하나
✔️ return 흐름 설계
- 여러 조건을 나열할 때 if만으로도 자연스러운 흐름 만들기 가능
- “잘못된 입력 → 특수 조건 → 정상 조건 → 기본값” 패턴 학습
✔️ 화살표 함수 (Arrow Function)
- 단일 표현식 함수는 => 로 간결하게 표현
- String hi(String name) => "안녕 $name";
✔️ 클래스와 메소드 구조
- 클래스 = 설계도
- 객체 = 설계도로 찍어낸 실체
- 메소드 = 객체의 행동
- . 문법으로 접근 (obj.method())
✔️ while = “조건이 변할 때까지 반복”
- 반복 횟수를 모르는 구조에서 사용
- 리스트를 순회하거나 상태 변화를 감지하는 데 사용됨
📌 성장 포인트
🌟 이해가 확실히 잡힌 영역
- 함수 정의·호출
- return 값 설계
- 화살표 함수
- 함수 = 값으로 다루기
- 클래스 정의/객체 생성
- 메소드 호출 구조
- List에 함수 넣고 실행하기
🌟 이제 막 감 잡기 시작한 영역
- while 반복문
- 함수·메소드 개념 섞어서 응용하기
- 클래스 내부 메소드 구조 설계
🌟 앞으로 확장하면 좋은 영역
- 고차 함수(map, where, fold 등)
- 클래스 심화(생성자, 필드, 캡슐화 등)
- 비동기(async, await, Future)
복습의 효과 그리고 애증의 GPT..
2일 동안 함수 기초에서 클래스로 자연스럽게 넘어갔고,
특히 “함수도 값이다”, “클래스와 함수의 역할 차이”를 실습을 통해 겨우 구조를 잡기 시작했다.
Dart 기본기에서 가장 난이도가 높은 개념들을 이미 경험하고 이해하기 시작했기 때문에
앞으로 Flutter 실습을 시작할 때 훨씬 빠르게 적응할 수 있는 기반이 마련된 듯 하다.
그래도 오늘은 반환이나 리스트에 함수 넣기, 클래스, 객체 생성, 메소드... 그다지 헷갈리지 않고 술술 쓰더라
역시 좀 쉬었더니 머리가 맑아졌어 ㅋㅋㅋ
주말 내, 객체 생성이나 메소드도 감좀 잡았겠다 고차함수쪽을 공부하려고 했었는데
그 전에 겹치는 반복문에 대해서 완전히 개념을 헷갈리지 않게 정복하고 갈 생각으로
다시 한 번 while / for / for - in 부분 실습을 하려다 미친듯이 진도만 빼려는 지피티 때문에 짜증이 확....🤯
제발 내 공부 흐름좀 파악해라!!! 실습 문제는 하나씩 내라고 몇번 얘기하고,
개념 설명할 때 진도 멋대로 빼지 말라고 매번 말해도 맨~~~~날 지혼자 풀악셀이야 🙄💦
설명 보다가 질문할거 있어서 질문해야 되는데 지 혼자 벌~써 100미터 질러 가있음
다시 돌아오게 해서 하나 질문하면 그거 하나 대답하고 또!! 넘어가서 다른 개념까지 이어서 설명하곸ㅋㅋㅋ아오씨 ㅋ
그와중에 사과는 존나 잘하세요.
니가 인간이 되어도 손이랑 발은 없을거다 맨날 미안하다고 비느라 닳고 닳아 없어져서😒

무튼, 이렇게 보면 쉬운데 막상 뭐 할라 그러면 헷갈리고, 어떻게 구조를 잡아야 할지 모르겠다는....
확실히 실습 문제를 써보고 안써보고의 차이가 너무 크다.
이제는 이런 개념들은 최대한 반환타입, 클래스 등등 기존에 배운 개념들을 섞어서 문제를 내라고 한다.
복습 안하면 또 헷갈려.... ㅠㅠ
| 이름 | 반복 | 타입, 용도 | 느낌 |
| while | 조건 기반 | 끝을 모를 때, 조건 만족까지 | “언제 끝날지 몰라, 계속 봐야 돼!” |
| for | 횟수 기반 | i=0 ~ i<5 처럼 명확할 때 | “정확히 5번만 해” |
| for-in | 리스트 기반 | 요소만 처리하고 싶을 때 | “하나씩 꺼내서 보자” |
| forEach | 함수 기반 | 리스트 순회 + 함수 전달 | “반복은 내가 할게, 함수만 줘” |
내일은 이것들 완전히 끝내고 고차함수 / Dart 프로그래밍 강의 챕터 3을 다시 들어봐야겠다.
이제 좀 더 잘 이해할지도...? 허허 ㅎㅎ
나름 쉬는 시간에는 내가 만들 앱, 피그마로 메인 화면 레이아웃도 짜보고 디자인 컨셉도 잡아봤는데,
진짜 너무 재밌긴 했지만 주말에는 밀린 애니랑 만갤도 봐야 했기에(바쁘다 바빠😅)
대충 잡아놓기만 했다 ㅎ 기능을 많이 줄인다고 줄였는데, 아직도 많긴 한... ㅋ...
일주일이 너무 빨라~ 근데 주말은 또 은근 길게 느껴지는 요즘이다
'Flutter 9기 창업 > 📚 Today I Learned' 카테고리의 다른 글
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 12일차 (1) | 2025.12.09 |
|---|---|
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 11일차 (0) | 2025.12.08 |
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 10일차 _ 개인과제 트러블 슈팅(TroubleShooting) (0) | 2025.12.05 |
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 9일차 (0) | 2025.12.04 |
| [Flutter 9기 창업반] 앱 개발 창업 부트캠프 8일차 (0) | 2025.12.03 |