스킬캠퍼스
Day 7 · 코드는 어떻게 실행되나
강의

오늘 끝나면

코드는 어떻게 실행되나

  • 코드는 어떻게 실행되나의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 코드는이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

내가 쓴 글자가 동작이 되기까지 — 컴파일 vs 인터프리터 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

개발 · Day 7

코드는 어떻게
실행되나

내가 쓴 글자는 사람 글임. CPU는 0 1만 앎. 그 사이를 메우는 게 번역임.

P.01개발 · Day 7

둘은 서로 다른 언어

price = 1000 이건 사람이 읽으라고 쓴 글임.

근데 CPU는 글자를 못 읽음. 아는 거라곤 켜짐·꺼짐, 즉 01뿐임.

그래서 내 코드는 그대로는 한 글자도 못 돎. 누군가 0과 1로 바꿔줘야 비로소 돎.

그 “바꿔주는 일”을 번역이라 부름. 번역 방식이 두 갈래로 갈림.

사람 글 vs 기계어
사람이 읽는 글price = 1000qty = 3total =price * qty번역CPU가 아는 것1010 0001 00111010 0010 00000110 1100 00011111 0000 1010켜짐·꺼짐뿐

같은 뜻, 전혀 다른 표기 — 그 사이를 번역이 메움

P.02개발 · Day 7

미리 통째 vs 그때그때

번역하는 타이밍이 두 방식을 가름.

컴파일은 실행 전에 4줄 통째로 미리 번역해 둠. 처음엔 기다림. 대신 그 뒤 실행은 이미 0/1이라 쭉쭉 빠름.

인터프리터는 기다림 없이 바로 시작함. 대신 줄마다 그때그때 번역해서 매 줄이 느림.

탭을 바꿔가며 걸린 시간이 어떻게 달라지는지 봄.

번역 방식 · 직접 돌려보기
사람이 쓴 글
price = 1000
qty = 3
total = price * qty
print(total)
번역
CPU가 아는 0/1
···· ···· ····
···· ···· ····
···· ···· ····
···· ···· ····
출력
걸린 시간
0.00s
대기 중
먼저 4줄 통째로 번역하느라 처음엔 기다림. 대신 그 다음 실행은 쭉쭉 빠름.
P.03개발 · Day 7

번역이 끼는 위치

소스코드에서 실행까지, 길이 두 갈래임.

컴파일러.c 파일을 통째로 씹어 실행파일(이미 0/1 덩어리)을 한 번 만들어 둠. 그 다음부턴 그 파일만 돎.

인터프리터는 실행파일을 안 만듦. .py 파일을 들고 다니며 돌릴 때마다 한 줄씩 읽고 바로 실행함.

그래서 C는 “먼저 빌드”, 파이썬은 “그냥 실행”인 거임.

소스 → 번역 → 실행
컴파일 (C).c 소스사람 글번역 1회실행파일0/1 덩어리돌림결과빠름한 번 빌드 → 그 뒤론 빠르게 반복 실행인터프리터 (파이썬).py 소스사람 글한 줄씩읽고→번역→실행매 줄 반복 ↺결과편함빌드 없음 → 고치고 바로 실행
P.04개발 · Day 7

속도냐 편함이냐

공짜 점심은 없음. 둘은 맞바꾸는 관계임.

컴파일(C)은 빠름. 미리 다 번역해 뒀으니 실행이 군더더기 없음. 대신 고칠 때마다 다시 빌드해야 해서 번거로움.

인터프리터(파이썬)는 편함. 고치고 바로 돌려보면 됨. 대신 매번 번역하느라 더 느림.

그래서 빠른 게 생명이면 C, 빨리빨리 만들고 고치는 게 중요하면 파이썬을 고름. 옳고 그름이 아니라 골라 쓰는 것임.

코드 보기 — 같은 일, 두 언어
// C — 먼저 빌드해야 돎
int total = price * qty;
printf("%d", total);

# 파이썬 — 그냥 바로 돎
total = price * qty
print(total)
트레이드오프
실행 속도고칠 때 편함컴파일C빠름번거로움인터프리터파이썬느림고치고 바로 실행옳고 그름이 아니라, 골라 쓰는 것

3줄 요약

  1. 1내가 쓴 글자가 동작이 되기까지 — 컴파일 vs 인터프리터
  2. 2코드는 어떻게 실행되나은 코딩 기본 → 인터넷과 웹 → 프론트/백엔드 → 데이터 → 배포 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

코드는

내가 쓴 글자가 동작이 되기까지 — 컴파일 vs 인터프리터

입력

프로그램이 받아들이는 값이나 사용자 행동

규칙

입력을 처리하는 코드의 절차