01 / 15
SESSION 07 · Part 2 개발자처럼 생각하기

프로그래밍
개념

모든 코드의 뼈대 — 변수·조건문·반복문

02 / 15
🎯

이 세션에서
배우는 것

📦
변수
값을 저장하는 "이름 있는 상자"를 설명한다
🔀
조건문 · 반복문
프로그램이 분기하고 반복하는 흐름을 이해한다
🐞
버그
문법·실행·논리 오류를 구분한다
03 / 15
⚙️

프로그램은 순서 · 조건 · 반복

어떤 복잡한 앱도 결국 위에서 아래로 실행되며,
중간중간 "만약 ~라면" 분기하고 "같은 일 100번" 반복한다.

이 세 가지만 익히면 어떤 언어든 금방 읽을 수 있다.

04 / 15

변수 — 이름 있는 상자

데이터를 담아두고, 나중에 이름으로 꺼내 쓴다. 값은 언제든 바꿀 수 있다.

# 값을 저장
age = 25
name = "홍길동"

# 값을 변경
age = age + 1 # 이제 26

# 꺼내서 사용
print(name, age) # 홍길동 26

자료형: 숫자(int), 문자열(str), 참/거짓(bool), 목록(list) 등 상자의 종류도 다양하다.

05 / 15
⚙️

변수·조건·반복 —
더 깊게 이해하기

실제 앱을 만들 때 세 개념이 어떻게 함께 쓰이는지 로그인 처리를 예시로 보자.

1
변수: 사용자가 입력한 값을 담는다
email = "user@example.com", password = "1234". 입력을 변수에 담아야 다음 단계로 전달할 수 있다.
2
조건문: 맞는지 틀린지 분기한다
if email == DB_이메일 and password == DB_비밀번호: → 로그인 성공. else: → 오류 메시지. 분기가 없으면 모든 입력을 같이 처리해야 한다.
3
반복문: 3회 실패 시 잠금 처리
fail_count를 변수로 두고, 실패할 때마다 +1. if fail_count >= 3: 계정 잠금. 반복 + 변수 + 조건이 함께 작동한다.
4
어떤 앱도 이 세 가지의 조합
카카오톡 메시지 전송, 쇼핑 장바구니, 지도 경로 — 복잡해 보여도 변수·조건·반복의 조합이다.
06 / 15

조건문 vs 반복문

흐름을 갈라치거나, 같은 동작을 반복시키는 두 무기.

🔀 조건문 if / else
"만약 ~라면 A, 아니면 B"
if age >= 18: 성인 · else: 미성년
로그인 성공/실패 분기
사용자 권한 체크
🔁 반복문 for / while
같은 동작을 여러 번
for name in names: 인사하기
100명 이름을 일일이 안 써도 됨
목록·파일 한 줄씩 처리
07 / 15
🛠️

함수가 없을 때 vs 있을 때 —
실제로는 어떻게?

결제 처리 코드를 3곳에서 쓸 때 함수의 차이가 극명하게 드러난다.

코드 복붙 A
장바구니 결제
+
코드 복붙 B
정기구독 결제
+
코드 복붙 C
앱내결제
버그 발생 시
3곳 모두 수정!

핵심: process_payment() 함수 하나로 만들면 수정은 한 곳만, 테스트도 한 번만 하면 된다.

08 / 15
🐞

버그의 3가지 얼굴

코드가 예상대로 안 움직일 때, 원인은 보통 이 셋 중 하나다.

1
문법 오류 (Syntax Error)
실행 자체가 안 된다. 괄호 안 닫음, 쉼표 빠짐 같은 문법 실수. 가장 찾기 쉽다.
2
실행 오류 (Runtime Error)
실행 중에 멈춘다. 0으로 나누기, 없는 파일 읽기 — 상황에 따라 터진다.
3
논리 오류 (Logic Error)
실행은 잘 된다. 결과가 틀릴 뿐. 덧셈을 해야 할 곳에 곱셈 — 가장 찾기 어렵다.
4
디버깅
오류 메시지 읽기 → print로 중간값 확인 → AI에게 코드 붙여넣기. 이 순서면 대부분 해결된다.
09 / 15
📱

실생활에서
이렇게 쓰여요

우리가 매일 사용하는 앱과 서비스 속에 이 개념이 녹아 있다.

💬
카카오톡 자동응답
if 메시지 == "안녕": "안녕하세요!" 응답. 조건문이 없으면 모든 메시지에 같은 응답만 가능하다.
📸
인스타그램 피드 로딩
for post in posts: 각 게시물 화면에 그리기. 반복문 없이 500개 게시물을 코드로 직접 쓰는 건 불가능하다.
💳
결제 처리
결제 함수 하나를 장바구니·정기구독·앱내결제 모두에서 호출. 함수 없이는 같은 코드를 10번 복붙해야 한다.

💡 이 개념이 없다면 어떤 앱도 만들 수 없다 — 이게 프로그래밍의 핵심이다

10 / 15
💡

자주 하는
오해 바로잡기

이렇게 생각하기 쉽지만, 실제로는 조금 다릅니다.

❌ 흔한 오해
  • 프로그래밍 = 수학을 잘해야 한다
  • 버그 = 오타 (코드를 잘못 친 것)
  • if문 없이는 프로그램을 못 만든다
✓ 실제로는
  • 프로그래밍은 논리적 사고가 핵심. 사칙연산 이상의 수학은 특정 분야에서만 필요하다
  • 버그는 논리 오류가 더 많다. 실행은 되지만 결과가 틀리는 경우가 가장 찾기 어렵다
  • 조건 없이도 순서대로만 실행하는 스크립트는 충분히 유용하다
11 / 15
🍳

프로그램은 요리 레시피

어려운 개념도 익숙한 것에 빗대면 쉬워진다.

📖 레시피 속 프로그래밍
재료
=
변수 — 양파 1개, 물 500ml
"간이 맞으면 불 끄기"
=
조건문 — if 조건: ...
"3분 동안 저어라"
=
반복문 — while 시간<3분: 저음
음식이 탔다
=
버그 — 레시피대로 했는데 결과가 이상
12 / 15
🤖

이걸 알면
AI와 이렇게 대화해요

이 개념을 이해하면 Claude나 ChatGPT를 훨씬 잘 활용할 수 있다.

👤
로그인 기능 만들고 싶어요
🤖
어떤 언어로 만드실 건가요? 더 자세히 알려주세요.
👤
JavaScript로 이메일과 비밀번호를 입력받아 유효성 검증하는 함수를 작성해줘. 비밀번호는 8자 이상이어야 해
🤖
function validateLogin(email, password) { if (!email.includes('@')) return '이메일 형식 오류'; if (password.length < 8) return '비밀번호는 8자 이상'; return '검증 통과'; } — 이렇게 조건문과 함수를 결합하세요.
13 / 15

이렇게
이해하셨나요?

맞게 이해하셨어요
변수는 값을 담는 이름 있는 상자다. 언제든 값을 바꿀 수 있다.
이렇게는 아니에요
if문 없이는 프로그램을 만들 수 없다. (조건 없이도 유용한 스크립트를 만들 수 있다)
맞게 이해하셨어요
버그에는 문법·실행·논리 오류 세 종류가 있다. 논리 오류가 가장 찾기 어렵다.
이렇게는 아니에요
프로그래밍을 잘하려면 수학을 잘해야 한다. (논리적 사고력이 훨씬 더 중요하다)

💪 변수·조건·반복을 이해했다면 어떤 언어든 코드를 읽기 시작할 수 있어요!

14 / 15
📌

핵심 정리

📦
변수
이름 있는 상자 —
값 저장 & 수정
🔀
조건문
if / else —
상황별 다른 실행
🔁
반복문
for / while —
같은 일을 반복
⚙️
실행 흐름
위에서 아래로 +
분기 + 반복
🐞
버그
문법·실행·논리 오류
3가지 종류
🔧
디버깅
메시지 읽기 → print →
AI에게 묻기
15 / 15
🚀

다음 세션
Session 08 · 함수와 추상화

반복되는 코드를 묶어 재사용하는 방법.
함수를 만들면 복잡한 내부를 숨기고 이름 하나로 불러 쓸 수 있다.

💡 기억할 것: 어떤 복잡한 프로그램도 결국 변수 · 조건 · 반복의 조합이다.

슬라이드 목록