2026. 2. 24. 14:43ㆍTIL
챕터 1-1 : 코딩이란,
수업 목표
- 코딩이 무엇인지 알아봅니다.
- 우리의 목표가 무엇인지 알아봅니다.
우리의 목표는 코딩을 잘하는 것입니다. 근데 코딩이 뭘까요?
코딩이란 컴퓨터가 이해 가능한 명령서를 작성하는 과정입니다. 여기서 중요한 점은, “우리”가 이해 가능한 명령서가 아니라, “컴퓨터”가 이해 가능한 명령서라는 점입니다. 그러니 이해가 안되는게 당연합니다. 어떤 때에는 이해보다 암기를 요구할 수도 있습니다. 이걸 받아들이고 시작하는 것이 중요합니다. 많고 다양한 명령서들을 읽어보고 돌아와서 봐야 이해되는 경우도 정말 많습니다.
코딩에는 또 다른 난관이 있습니다.
아래와 같은 명령서(코드)를 컴퓨터에게 전달한다고 해봅시다. “마트에 가서 우유 2개를 사와라. 달걀이 있으면, 4개만 사와라.” 이 명령서를 받은 컴퓨터가 어떻게 동작할지 고민해봅시다.
- 고민 후 열어봅시다.
- 사람은 “달걀이 있으면, 4개만 사와라.”를 전체적으로 이해할 수 있어서 달걀 4개를 사옵니다. 그러나 컴퓨터는 “달걀이 있으면”과 “4개만 사와라.”를 전혀 관련 없는 두 개의 문장으로 인식합니다. 즉, “4개만 사와라.”라는 명령의 목적어가 없어서 컴퓨터가 멈춰버립니다. 이처럼 컴퓨터를 위한 명령서 작성에는 섬세함이 필요합니다. 대충 작성하고 적게 연습하면 위와 같은 상황들이 계속 발생하면서 중도 포기해버릴 수도 있습니다.
위 두 가지 내용을 참고하면서 “명령서”가 무엇인지부터 배워봅시다.
아무것도 없는 백지에서부터 천천히 하나씩 쌓아나가면서 배울 예정입니다. 중간 중간마다 명령서를 작성하는 좋은 습관들을 소개할 예정이니, 잘 따라주시면 좋겠습니다.
챕터 1-2 : Low-Level Language와 High Level Language
수업 목표
- 우리가 작성하는 소스코드가 어떻게 컴퓨터가 이해하는 언어로 변하는지 알아본다.
- 빌드 프로세스와 컴파일러의 필요성을 알아본다.
명령서(코드)는 어떤 언어로 작성되어야 할까요?
당연히 컴퓨터가 해석 할 수 있어야 하기 때문에 컴퓨터가 이해할 수 있는 언어로 작성되어야 합니다. 또한 컴퓨터는 반도체로 이루어져 있습니다. 반도체는 켜진 상태(1)와 꺼진 상태(0), 2가지 상태로 모든걸 표현합니다. 즉, 컴퓨터는 2진법만 이해할 수 있다는 이야기입니다. 결국에 명령서는 2진법으로 작성되어야합니다.
기계어(Low-Level Language, Machine Language)
아래와 같이 작성되어서 컴퓨터(기계)가 바로 이해할 수 있는 언어.

그럼 사람도 기계어로 코드를 작성해야 할까요?
옛날 사람들은 그랬습니다. 종이 카드에 구멍을 내서… 그러다가 사람들이 좀 더 편하게 작성 할 수 있는 어셈블리어가 나왔습니다.
어셈블리어(Assembly Language)
숫자가 아닌 문자이기에 사람에 좀 더 친숙한 언어. 이진 패턴의 특정 부분을 문자로 치환합니다. 그래서 기계어와 어셈블리어는 일대일 대응 관계를 가집니다. 양은 비교적 줄지 않았습니다. 모양만 예뻐진 언어라고 비유할 수 있습니다.

고급 언어(High-Level Language)
우리가 배울 C언어 혹은 C++, Java, Python과 같은 언어들. 어셈블리어에서 모양은 물론, 양까지 만족스럽게 줄어듭니다. 사람에 가깝다는 의미에서 High-Level Language라고 부릅니다.

소스코드(Source Code)
프로그래머가 고급 언어로 작성한 코드(명령서)를 소스코드라고 합니다.
그러나 너무 멀리 와버림.
결국 컴퓨터가 이해 할 수 있는건 기계어 뿐입니다. 사람이 고급 언어로 명령서(코드)를 작성하면 누군가는 “번역”해서 컴퓨터가 읽기 쉬운 기계어로 바꿔줘야합니다. 이런 “번역가”를 컴파일러라고 합니다.
빌드 프로세스(Build Process)
사람이 읽기 쉬운 고급 언어로 작성된 소스코드(명령서)를 컴퓨터가 읽기 쉬운 기계어로 변환하는 일련의 과정입니다.

'TIL' 카테고리의 다른 글
| C언어 챕터1 : 환경 설정 < 1-5 : main() 함수와 printf() 함수, 1-6 : 서식지정자 > (0) | 2026.02.24 |
|---|---|
| C언어 챕터1 : 환경 설정 < 1-3 Compiler, 1-4 프로젝트와 소스코드 생성 > (0) | 2026.02.24 |
| 26.02.12 TIL (0) | 2026.02.12 |
| 26.02.11 언리얼 게임 분석 (0) | 2026.02.11 |
| 26.02.09 언리얼 에셋 네비게이션 및 간단한 게임 씬 구성 (0) | 2026.02.09 |