![](https://blog.kakaocdn.net/dn/dfTpfa/btsMioHTA9s/14R2eqRBHGLFkAkmsgroa0/img.png)
โ . ์๋ก : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋?
๐ 1. ์ปดํจํฐ๊ฐ ์ดํดํ๋ ์ธ์ด
๐ 2. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ธฐ๋ณธ ๊ฐ๋
โ ก. ๋ณธ๋ก : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ข ๋ฅ์ ํน์ง
๐ 1. ์ ๊ธ ์ธ์ด vs ๊ณ ๊ธ ์ธ์ด
๐ 2. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฃผ์ ๋ถ๋ฅ (์ปดํ์ผ ์ธ์ด vs ์ธํฐํ๋ฆฌํฐ ์ธ์ด)
๐ 3. ๋ํ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฌ์ฉ ์ฌ๋ก
๐ 4. ํฌ๋ก์ค ํ๋ซํผ ์ธ์ด vs ๋ค์ดํฐ๋ธ ์ธ์ด
โ ข. ๊ฒฐ๋ก : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ์ ๊ณผ ๋ฏธ๋
๐ 1. ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์ค์ํ ์ธ์ด
๐ 2. ๋ฏธ๋์ ์ฃผ๋ชฉํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
![](https://blog.kakaocdn.net/dn/cyjj3o/btsMjeSaXfM/xYYESzqPnWaBUCCSvCkQ30/img.png)
์ปดํจํฐ ์ธ์ด์ ์ข ๋ฅ์ ํน์ง:
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋
์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๊น? ๐ป๐
์ปดํจํฐ๋
0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๊ธฐ๊ณ์ด๋ง
์ดํดํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ฌ๋์ด ๊ธฐ๊ณ์ด๋ฅผ
์ง์ ๋ค๋ฃจ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์,
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(์ปดํจํฐ ์ธ์ด)๋ฅผ
์ฌ์ฉํ์ฌ ๋ช ๋ น์ ์์ฑํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋
์ด๋ค ์ข ๋ฅ๊ฐ ์์๊น์?
์ด๋ฒ ํฌ์คํ
์์๋
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ข ๋ฅ์ ํน์ง,
๊ทธ๋ฆฌ๊ณ ์๋ ๋ฐฉ์๊น์ง
ํ๋์ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค! ๐
โ . ์๋ก : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋? ๐ง
์ปดํจํฐ๊ฐ ์ดํดํ๋ ์ธ์ด
์ปดํจํฐ๋ ๊ธฐ๊ณ์ด(0๊ณผ 1)๋ง
์ดํดํ ์ ์์ต๋๋ค.
์ฌ๋์ด ๊ธฐ๊ณ์ด๋ฅผ
์ง์ ๋ค๋ฃจ๊ธฐ๋ ์ด๋ ต๊ธฐ ๋๋ฌธ์,
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋ฑ์ฅํ์ต๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋
์ฌ๋์ด ์ดํดํ ์ ์๋
์ฝ๋๋ก ์์ฑํ ํ,
์ปดํ์ผ๋ฌ(Compiler)๋
์ธํฐํ๋ฆฌํฐ(Interpreter)๋ฅผ ํตํด
๊ธฐ๊ณ์ด๋ก ๋ณํ๋ฉ๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ธฐ๋ณธ ๊ฐ๋
0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง
๊ธฐ๊ณ์ด(Machine Language)๋ง
์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์,
์ฌ๋์ด ์ง์ ๊ธฐ๊ณ์ด๋ฅผ ๋ค๋ฃจ๊ธฐ๋ ์ด๋ ต๊ณ ,
์ฌ๋์ด ์ดํดํ ์ ์๋
๋ฌธ๋ฒ๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(์ปดํจํฐ ์ธ์ด)๊ฐ
๋ฑ์ฅํ์ต๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋
๋จ์ํ ๋ช ๋ น์ด๊ฐ ์๋๋ผ,
์ปดํจํฐ์๊ฒ ๋ช ํํ ์์ ์
์ํํ๋๋ก ์ง์ํ๋ ๋๊ตฌ์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ ํํ ์ฌ์ฉํ๋
Python, Java, C, JavaScript, Dart ๋ฑ์ด
๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ผ์ข ์ ๋๋ค.
ํ์ง๋ง ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋
์ข ๋ฅ๋ ๋ค์ํ๊ณ ,
์คํ ๋ฐฉ์๋ ๋ค๋ฆ ๋๋ค.
๐น ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ญํ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋
๊ฐ๋ฐ์๊ฐ ์์ฑํ ์ฝ๋๋ฅผ
์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋๋ก
๋ณํํ๋ ์ญํ ์ ํฉ๋๋ค.
์ด๋ฅผ ์ํด
์์ค ์ฝ๋(Source Code)๋
๋ฐ๋์ ์ปดํ์ผ๋ฌ(Compiler) ๋๋
์ธํฐํ๋ฆฌํฐ(Interpreter)๋ฅผ ํตํด
๊ธฐ๊ณ์ด๋ก ๋ณํ๋์ด์ผ ํฉ๋๋ค.
- ์ปดํ์ผ๋ฌ(Compiler) → ํ๋ก๊ทธ๋จ ์ ์ฒด๋ฅผ ํ ๋ฒ์ ๋ฒ์ญ ํ ์คํ (์: C, C++, Swift)
- ์ธํฐํ๋ฆฌํฐ(Interpreter) → ํ ์ค์ฉ ์ฝ์ด๊ฐ๋ฉฐ ์คํ (์: Python, JavaScript)
์ด๋ฒ ํฌ์คํ ์์๋
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ์ข ๋ฅ,
ํน์ง์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๐
โ ก. ๋ณธ๋ก : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ข ๋ฅ์ ํน์ง
1) ์ ๊ธ ์ธ์ด vs ๊ณ ๊ธ ์ธ์ด
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋
์ปดํจํฐ์์ ๊ทผ์ ์ฑ์ ๋ฐ๋ผ
๋ ๊ฐ์ง๋ก ๋๋ฉ๋๋ค.
๊ตฌ๋ถ | ํน์ง | ๋ํ์ ์ธ ์ธ์ด |
์ ๊ธ ์ธ์ด (Low-Level Language) | ๊ธฐ๊ณ์ด์ ๊ฐ๊น์ ์๋๊ฐ ๋น ๋ฆ | ์ด์ ๋ธ๋ฆฌ์ด, ๊ธฐ๊ณ์ด |
๊ณ ๊ธ ์ธ์ด (High-Level Language) | ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด ํํ | Python, Java, JavaScript, Dart |
โ ์ ๊ธ ์ธ์ด: ๊ธฐ๊ณ์ด์ ๊ฐ๊น์ด ์ธ์ด๋ก, ์ปดํจํฐ ์ฑ๋ฅ์ ์ต์ ํํ ๋ ์ ๋ฆฌํ์ง๋ง ์ฝ๋ฉ์ด ์ด๋ ต๊ณ ์ ์ง๋ณด์๊ฐ ์ด๋ ค์
โ
๊ณ ๊ธ ์ธ์ด: ์ฌ๋์ด ์ฝ๊ณ ์ฐ๊ธฐ ์ฌ์ด ์ธ์ด๋ก, ์์ฐ์ฑ์ด ๋๊ณ ์ ์ง๋ณด์๊ฐ ์ฌ์
2) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฃผ์ ๋ถ๋ฅ (์ปดํ์ผ ์ธ์ด vs ์ธํฐํ๋ฆฌํฐ ์ธ์ด)
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋
์ฝ๋๋ฅผ ์คํํ๋ ๋ฐฉ์์ ๋ฐ๋ผ
์ปดํ์ผ ์ธ์ด์
์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ก ๋๋ฉ๋๋ค.
โ ์ปดํ์ผ ์ธ์ด (Compiled Language)
- ์ ์ฒด ์ฝ๋๋ฅผ ํ ๋ฒ์ ๊ธฐ๊ณ์ด๋ก ๋ณํ ํ ์คํ
- ์คํ ์๋๊ฐ ๋น ๋ฆ
- ์ค๋ฅ๊ฐ ์์ผ๋ฉด ์ปดํ์ผ ๋จ๊ณ์์ ๋ฏธ๋ฆฌ ํ์ธ ๊ฐ๋ฅ
๐น ๋ํ ์ธ์ด: C, C++, Rust, Swift, Go
โ ์ธํฐํ๋ฆฌํฐ ์ธ์ด (Interpreted Language)
- ์ฝ๋๋ฅผ ํ ์ค์ฉ ์คํํ๋ฉด์ ๋ณํ
- ์คํ ์๋๋ ๋๋ฆฌ์ง๋ง, ๋๋ฒ๊น ์ด ์ฌ์
- ํ๋ซํผ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์คํ๋ ์ ์์
๐น ๋ํ ์ธ์ด: Python, JavaScript, PHP, Ruby
โ ํผํฉํ (์ปดํ์ผ + ์ธํฐํ๋ฆฌํฐ ์ธ์ด)
์ผ๋ถ ์ธ์ด๋ ๋ ๊ฐ์ง ๋ฐฉ์์ ํผํฉํ์ฌ ์ฌ์ฉํฉ๋๋ค.
- Java: ์์ค ์ฝ๋๋ฅผ ๋ฐ์ดํธ ์ฝ๋(Java Bytecode)๋ก ๋ณํํ ํ, JVM(Java Virtual Machine)์์ ์คํ
- Dart (Flutter์์ ์ฌ์ฉ): ๊ฐ๋ฐ ์ค์๋ ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์(Hot Reload ์ง์)์ ์ฌ์ฉํ๊ณ , ๋ฐฐํฌ ์ ์ปดํ์ผ(AOT, Just-In-Time ์ปดํ์ผ)์ ์ฌ์ฉํ์ฌ ์๋๋ฅผ ๋์
3) ๋ํ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฌ์ฉ ์ฌ๋ก
๐ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ชฉ์ ์ ๋ฐ๋ผ ์ ํฉํ ์ธ์ด๊ฐ ๋ค๋ฆ ๋๋ค.
์ธ์ด | ์ฃผ์ ํน์ง | ์ฌ์ฉ ๋ถ์ผ |
C | ์๋๊ฐ ๋น ๋ฅด๊ณ ์์คํ ํ๋ก๊ทธ๋๋ฐ์ ์ ํฉ | ์ด์์ฒด์ , ์๋ฒ ๋๋ ์์คํ |
C++ | ๊ฐ์ฒด ์งํฅ + C์ ์ฑ๋ฅ์ ์ ์ง | ๊ฒ์ ๊ฐ๋ฐ, ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ |
Java | ์์ ์ฑ๊ณผ ์ด์์ฑ์ด ๋ฐ์ด๋จ | ๋ชจ๋ฐ์ผ ์ฑ(Android), ์น ๋ฐฑ์๋ |
Python | ๋ฌธ๋ฒ์ด ๊ฐ๋จํ๊ณ ์์ฐ์ฑ์ด ๋์ | ๋ฐ์ดํฐ ๋ถ์, AI, ์น ๊ฐ๋ฐ |
JavaScript | ์น ๊ฐ๋ฐ์ ์ํ ๋ํ ์ธ์ด | ์น ํ๋ก ํธ์๋, ์๋ฒ(Node.js) |
Dart | Flutter ๊ฐ๋ฐ์ ์ต์ ํ | ํฌ๋ก์ค ํ๋ซํผ ๋ชจ๋ฐ์ผ ์ฑ |
Swift | iOS ๊ฐ๋ฐ์ ์ํ ๊ณต์ ์ธ์ด | iPhone, Mac ์ ํ๋ฆฌ์ผ์ด์ |
Go | ๋คํธ์ํฌ์ ๋ณ๋ ฌ์ฒ๋ฆฌ์ ๊ฐํจ | ํด๋ผ์ฐ๋ ์๋น์ค, ์๋ฒ ๊ฐ๋ฐ |
4) ํฌ๋ก์ค ํ๋ซํผ ์ธ์ด vs ๋ค์ดํฐ๋ธ ์ธ์ด
ํ๋ ๊ฐ๋ฐ์์๋
ํฌ๋ก์ค ํ๋ซํผ์ด
์ค์ํ ์ญํ ์ ํ๊ณ ์์ต๋๋ค.
โ ํฌ๋ก์ค ํ๋ซํผ ์ธ์ด (ํ ๋ฒ์ ์ฝ๋ ์์ฑ์ผ๋ก ์ฌ๋ฌ OS์์ ์คํ)
- JavaScript (React Native, Node.js)
- Dart (Flutter)
- Kotlin Multiplatform
- C# (Xamarin)
โ ๋ค์ดํฐ๋ธ ์ธ์ด (๊ฐ ํ๋ซํผ๋ณ๋ก ์ต์ ํ๋ ์ฝ๋ ์คํ)
- Swift (iOS)
- Kotlin (Android)
- C/C++ (๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ )
โก๏ธ ์ต๊ทผ์๋ ํฌ๋ก์ค ํ๋ซํผ ๊ธฐ์ ์ด ๋ฐ์ ํ๋ฉด์, Flutter ๊ฐ์ ํ๋ ์์ํฌ๊ฐ ๊ฐ๊ด๋ฐ๊ณ ์์ต๋๋ค.
โ ข. ๊ฒฐ๋ก : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ์ ๊ณผ ๋ฏธ๋ ๐
ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์ค์ํ ์ธ์ด
ํ์ฌ
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ธ์ด๋
JavaScript, Python,
Java, C++, Dart ๋ฑ์ ๋๋ค.
โ ์น ๊ฐ๋ฐ: JavaScript, TypeScript
โ ์ฑ ๊ฐ๋ฐ: Java, Kotlin, Swift, Dart
โ ๋ฐ์ดํฐ ๋ถ์ & AI: Python
โ ์์คํ
& ๊ฒ์ ๊ฐ๋ฐ: C, C++
*
๋ฏธ๋์ ์ฃผ๋ชฉํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
1๏ธโฃ Dart & Flutter → ๋ชจ๋ฐ์ผ & ์น & ๋ฐ์คํฌํฑ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๋์ธ
2๏ธโฃ Rust → ์ฐจ์ธ๋ ์์คํ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๊ธ๋ถ์
3๏ธโฃ Go → ํด๋ผ์ฐ๋์ ์๋ฒ ๊ฐ๋ฐ์์ ๊ฐ๋ ฅํ ์ฑ๋ฅ ์ ๊ณต
4๏ธโฃ Kotlin → Android์ ๊ณต์ ์ธ์ด์ด์ ๋ค์ค ํ๋ซํผ ๊ฐ๋ฐ ์ง์
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋
๊ธฐ์ ํธ๋ ๋์ ๋ฐ๋ผ
๊ณ์ ๋ณํํ๊ณ ์์ผ๋ฉฐ,
Flutter์ ๊ฐ์
ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ด
์ ์ ๋ ์ค์ํด์ง๊ณ ์์ต๋๋ค! ๐ก
๐ฅ ๋ง๋ฌด๋ฆฌ: ์ด๋ค ์ธ์ด๋ฅผ ๋ฐฐ์์ผ ํ ๊น?
โ
์น ๊ฐ๋ฐ์ ํ๊ณ ์ถ๋ค๋ฉด? JavaScript & TypeScript
โ
์ฑ ๊ฐ๋ฐ์ ํ๊ณ ์ถ๋ค๋ฉด? Dart(Flutter) & Kotlin
โ
AI์ ๋ฐ์ดํฐ ๋ถ์์ ๊ด์ฌ ์๋ค๋ฉด? Python
โ
๊ฒ์ ๊ฐ๋ฐ์ด ๋ชฉํ๋ผ๋ฉด? C++ & Unreal Engine
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ ํํ ๋๋
์์ ์ด ๊ฐ๋ฐํ๊ณ ์ถ์ ๋ถ์ผ์ ๋ง์ถฐ
๋ฐฐ์ฐ๋ ๊ฒ์ด ๊ฐ์ฅ ์ค์ํฉ๋๋ค! ๐ฏ
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/018.gif)