[ 개발자 D-180 ] 멋사 Flutter 6일차 비전공자 개발 일지

Yujin Jee·2025년 7월 18일

개발자D-day (멋사)

목록 보기
3/4
post-thumbnail

250717) 개발자 D-180

진짜 레전드 혼돈의 카오스... 보통 어려운 챌린지가 있으면 넘어설 생각을 해야하는데,
하나도 못 알아듣겠는 마음의 적적함을 달래기 위해 집 앞에 새로생긴 노포 감성 호프에서
생맥주를 찌끄렸다는... 사실..! 그렇지만 작성한다! TIL
Let's Go

(1)

break@myLoop
까먹었다. '@' 붙이는 거 뭐였는지 확인할 것.
'&&' = and
'||' = or

리팩토링 나만의 정의
-> 코드 최적화

기존 소프트웨어 코드의 기능을 변경하지 않으면서 코드의 구조, 가독성, 유지보수성 등을 개선하는 행위

배열 = 나열된 녀석들
같은 속성을 가졌다는 것이 특징.
ex) 맛집 줄선 사람들은 모두 '맛집'에 가려는 같은 속성을 지님

같은 자료형인 녀석들이 줄지어 있는 것 : 배열

(2)

배열의 핵심은 순서이다.
맛집에서 누군가 새치기를 한다면 기분이 너어어어어무 나쁜 것처럼 순서가 핵심!!

스마트폰, 스마트 워치, 스마트 TV 등 '스마트' = '컴퓨터'를 뜻함.
그래서 결국 이 모든 것들의 성능은 CPU, RAM 의 영향을 받게 되는 것.
CPU 는 연산, RAM 은 메모리공간

자료구조 - 배열 - RAM
메모리 사용량과 연결되는 게 배열임.
배열은 중복된 값을 가질 수 있다는 점을 기억할 것!

배열에서 자주 마주할 오류 'outofRange'
-> 범위를 벗어날 때 나타나는 오류
-> 배열에서 허용가능한 인덱스 범위를 체크하는 것이 매우 중요함.

'인덱스'는 손가락으로 위치를 가리키는 것 같은 개념.
ex) 손가락으로 명확한 위치를 가리키며 '여기'에 추가할거야. '여기'에 있는 값을 뺄거야.

개인적으로 중요하다고 생각한 개념들
⬇️

Mutablelist = 변경가능한 리스트
ex) 리스트 안에 요소를 더하거나 빼거나 할 수 있음.
List = 불변하는 리스트
그냥 List는 remove나 add 같은 코드가 동작하지 않음.

(3)

Mutablelist 'Mut'은 'change'라는 뜻.
즉, changable = mutable '바뀔 수 있다'

0베이스 -> 첫번째 순서의 index == 0

학습할 때 누가 얼마나 '변수'를 잘 활용하느냐가 중요할 것 같음.
실제로 강사님께서도 변수를 막 써보라고 추천하셨음.
더 나아가서 '상수' 설정하는 것도 너무 중요해보임.
나중에 코드가 길어지고 복잡해지기 시작하면 분명 이런 부분에서 차이가 날듯함.

오늘의 미션! 퀴즈 만들기

-> 주말에 완성해서 소스 코드 업로드 할것!
한 번 만들긴 했는데, 아예 처음부터 코드 다시 짤 수 없으면 완전히 이해한 것이 아니기 때문에, 확인을 위해서 처음부터 다시 진행해서 올릴 것.

😇 TODO

  • 퀴즈와 정답 리스트를 1:1 대응하는 것을 활용한 퀴즈 게임 만들기

  • 어플리케이션 배포 과정과 비용 알아보기

  • 기획 공부하기 ( 기능 정의서, 스토리보드, 화면 설계서 )

  • 멋사 VOD 수강 계획 세우기

😡 Weakness

  • 아... break@myLoop 나오는 강의 초반부 아예 이해못했음

  • continue, break 개념 약함. 활용을 잘 못함.

  • for문 활용 못함.

profile
02년생 스타트업 대표 | <비전공자 개발일지> 저자 | 멋쟁이사자처럼 병아리반

1개의 댓글

comment-user-thumbnail
2025년 7월 22일

아니 하나도 못 알아듣겠다니 그게 무슨 말이야? 😤

  • 만약 수업 때 집중을 안 했다면 → 👉 이제부터라도 제대로 집중해서 들어야 함
  • 만약 수업 듣는 동안 실시간으로 이해가 안 된다면 → 👉 너무 어려운 과목을 고른 것일 수 있음 (기본기 부족)
    → 그럴 땐 매일 복습 철저히 하고, 이해 안 되는 부분은 그날 바로 해결해야 함

한 번 상황 점검하러 가정방문 갑니다 🏃
아직 코스 극초반부인데 벌써 못 따라가면 절대 안 됨!!


📌 TIL Weakness 리뷰


1. Kotlin의 break@label 문법

코틀린에는 특이하게 break@label 문법이 있음.
원래 break를 하면, 그 break를 감싸고 있는 반복문만 빠져나감.
그래서 이중 반복문이면, 가장 안쪽 루프만 종료됨.

→ 이때 break@label을 쓰면 라벨이 붙은 루프를 직접 지정해서 종료 가능!

✅ 사용법 요약

  1. 바깥 for문 앞에 labelName@ 붙이기
  2. 안쪽 루프에서 break@labelName으로 탈출

✅ 코드 예시

fun main() {
    outer@ for (i in 1..3) {
        for (j in 1..3) {
            println("i=$i, j=$j")
            if (j == 2) break@outer  // 바깥쪽 for문을 빠져나감
        }
    }
    println("끝!")
}

✅ 실행 결과

i=1, j=1  
i=1, j=2  
끝!

2. continue, break 언제 쓸까?

  • continue는 해당 반복만 건너뛰고 다음 반복으로 넘어감
  • break는 루프 자체를 종료함

🍜 실생활 예시: 라면 끓이기

(실제 작동 코드 아님, 변수명 보기쉽게 한글로 작성함)

val 재료들 = listOf("물", "스프", "라면", "파", "벌레", "계란")

for (재료 in 재료들) {
    if (재료 == "벌레") {
        println("❌ 벌레 발견! 요리 중단!")
        break
    }
    if (재료 == "파") {
        println("🙅 파 싫어! 그냥 건너뛰자")
        continue
    }
    println("✅ ${재료} 투하!")
}

🧾 실행 결과 (예상)

✅ 물 투하!
✅ 스프 투하!
✅ 라면 투하!
🙅 파 싫어! 그냥 건너뛰자
❌ 벌레 발견! 요리 중단!

3. for문 활용 – 구구단 출력 예제

fun main() {
    for (i in 2..9) {
        for (j in 1..9) {
            print("${i} x ${j} = ${i * j}\t")
        }
        println()
    }
}

🧾 실행 결과 (예상)

2 x 1 = 2	2 x 2 = 4	2 x 3 = 6	2 x 4 = 8	2 x 5 = 10	2 x 6 = 12	2 x 7 = 14	2 x 8 = 16	2 x 9 = 18	
3 x 1 = 3	3 x 2 = 6	3 x 3 = 9	3 x 4 = 12	3 x 5 = 15	3 x 6 = 18	3 x 7 = 21	3 x 8 = 24	3 x 9 = 27	
4 x 1 = 4	4 x 2 = 8	4 x 3 = 12	4 x 4 = 16	4 x 5 = 20	4 x 6 = 24	4 x 7 = 28	4 x 8 = 32	4 x 9 = 36	
5 x 1 = 5	5 x 2 = 10	5 x 3 = 15	5 x 4 = 20	5 x 5 = 25	5 x 6 = 30	5 x 7 = 35	5 x 8 = 40	5 x 9 = 45	
6 x 1 = 6	6 x 2 = 12	6 x 3 = 18	6 x 4 = 24	6 x 5 = 30	6 x 6 = 36	6 x 7 = 42	6 x 8 = 48	6 x 9 = 54	
7 x 1 = 7	7 x 2 = 14	7 x 3 = 21	7 x 4 = 28	7 x 5 = 35	7 x 6 = 42	7 x 7 = 49	7 x 8 = 56	7 x 9 = 63	
8 x 1 = 8	8 x 2 = 16	8 x 3 = 24	8 x 4 = 32	8 x 5 = 40	8 x 6 = 48	8 x 7 = 56	8 x 8 = 64	8 x 9 = 72	
9 x 1 = 9	9 x 2 = 18	9 x 3 = 27	9 x 4 = 36	9 x 5 = 45	9 x 6 = 54	9 x 7 = 63	9 x 8 = 72	9 x 9 = 81

계속 화이팅입니다!
초반에 흔들리면 안 돼요. 지금부터 다지는 게 진짜 중요합니다 💪🔥

답글 달기