De moderne taal van het AI-tijdperk
๋ชจ๋ ์ธ์ด
๋ชจ๋ ์ธ์ด๋ ๊ณผ๊ฑฐ์ ์ธ์ด๋ค์ ๋นํด ๋ ๋์ ์์ฐ์ฑ, ์์ ์ฑ, ๋ณด์์ฑ, ์ ์ง๋ณด์์ฑ์ ์ ๊ณตํ๋ ์ธ์ด๋ฅผ ์๋ฏธํ๋ค. ์ด๋ฌํ ์ธ์ด๋ค์ ์ต์ ๊ธฐ๋ฒ๊ณผ ๊ฐ๋ ์ ์ ๊ทน์ ์ผ๋ก ๋์ ํ๋ฉฐ, ๊ฐ๋ฐ์์๊ฒ ๋ ํจ์จ์ ์ด๊ณ ์์ ํ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค. ๋ํ์ ์ธ ๋ชจ๋ ์ธ์ด๋ก๋ Java, Rust, Python, TypeScript ๋ฑ์ด ์์ผ๋ฉฐ, ์ด๋ค์ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ๋๋ค.
1. ๊ฐ์ฒด์งํฅ ์ค๊ณ ( OOP )
๋ชจ๋ ์ธ์ด๋ ๋๋ถ๋ถ ๊ฐ์ฒด์งํฅ ๊ฐ๋ ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋์๋ค. ๊ฐ์ฒด์งํฅ์ ์บก์ํ, ์์, ๋คํ์ฑ๊ณผ ๊ฐ์ ์์น์ ์ง์ํ๋ฉฐ, ๋ณต์กํ ์์คํ ์ ์์ ๋จ์์ ๊ฐ์ฒด๋ก ๋๋์ด ๊ด๋ฆฌํจ์ผ๋ก์จ ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ๋ฅผ ๋ช ํํ๊ณ ์ ์ฐํ๊ฒ ๋ง๋ ๋ค. ์ด๋ ํนํ ๋๊ท๋ชจ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ ๊ฐ๋ฐ ๋น์ฉ๊ณผ ๊ณต์๋ฅผ ํต์ ํ๊ณ , ์ ์ง๋ณด์ ์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์ค์ด๋ ๋ฐ ํจ๊ณผ์ ์ด๋ค.
2. ๋ฌธ๋ฒ ์คํ ๋ฐ ํํ์
๋ชจ๋ ์ธ์ด๋ ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ๊ฐ๋ฐ ์์ฐ์ฑ์ ๋์ด๊ธฐ ์ํด ๋ค์ํ ๋ฌธ๋ฒ ์คํ๊ณผ ํํ์ ๊ธฐ๋ฐ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ค. ์ผํญ ์ฐ์ฐ์, ๋๋ค ํํ์, ํจํด ๋งค์นญ ๋ฑ์ ๊ธฐ๋ฅ์ ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋๋ฅผ ์ค์ด๊ณ , ์ฝ๋๋ฅผ ์์ธก ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ, ๊ฐ๋ฐ์์ ์์ฐ์ฑ์ ํฅ์์ํจ๋ค.
3. ๋ชจ๋ ์์คํ
๋ชจ๋ ์ธ์ด๋ ๋ชจ๋ ์์คํ ์ ํตํด ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๋จ์๋ก ๋ถ๋ฆฌํด ๊ด๋ฆฌํ ์ ์๊ฒ ํ๋ค. ์ด๋ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์์กด์ฑ ๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ฉฐ, ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ ธ๋ ์ ์ง๋ณด์๋ฅผ ์์ํ๊ฒ ๋ง๋ ๋ค. ๋ํ์ ์ธ ์๋ก๋ Java์ Maven/Gradle, Rust์ Cargo, TypeScript์ npm/yarn ๋ฑ์ด ์๋ค.
4. ์ค๊ฐ ์ธ์ด ๋ฐ ๊ฐ์ ๋จธ์
๋ชจ๋ ์ธ์ด๋ค์ ํ๋ซํผ ๋ ๋ฆฝ์ฑ๊ณผ ์ฑ๋ฅ ์ต optimalisatie, ๋ณด์์ฑ์ ์ํด ์ค๊ฐ ์ธ์ด์ ๊ฐ์ ๋จธ์ ์ ๋์ ํ๋ค. ๋ํ์ ์ธ ์๋ก JVM, LLVM, WASM, GraalVM ๋ฑ์ด ์๋ค.
AI ์๋์ ๊ฐ๋ฐ๊ณผ ๋ชจ๋ ์ธ์ด์ ํ๊ณ์
๋ชจ๋ ์ธ์ด๋ ์ฌ๋์ด ๋๋ถ๋ถ์ ์ฝ๋๋ฅผ ์์ฑํ๋ค๋ ์ ์ ํ์ ์๊ฒจ๋ฌ๋ค. ์์ฐ์ค๋ฝ๊ฒ ๋ชจ๋ ์ธ์ด์ ๋ชฉ์ ์ ๋ฐ๋ณต ์์ ์ ์ค์ด๊ณ ์์ฐ์ฑ์ ๋์ด๋ฉฐ, ๊ฐ๋ฐ์๋ค์ด ํ์ ํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ํ ์ํํธ์จ์ด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ตฌํํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ AI ์๋์ ์ด๋ฌํ ์ ์ ๊ฐ ์ ์ ๋ฌด๋์ง๊ณ ์๋ค. Copilot, Cody ๋ฑ๊ณผ ๊ฐ์ AI ๊ธฐ๋ฐ ๋๊ตฌ๋ ์ฝ๋ ์์ฑ์ ๋ง์ ๋ถ๋ถ์ ์๋ํํ๊ณ ์์ผ๋ฉฐ, ํ ๋ช ์ ๊ฐ๋ฐ์๊ฐ ์์ฐํ ์ ์๋ ์ฝ๋์ ์์ด ๋น์ฝ์ ์ผ๋ก ์ฆ๊ฐํ๊ณ ์๋ค. ์ด๋ก ์ธํด ๊ณผ๊ฑฐ์๋ ์ฅ์ ์ผ๋ก ๋๊ปด์ง๋ ๋ชจ๋ ์ธ์ด์ ํน์ง์ด ์ ์ฐจ ๊ตฌ์๋์ ์ธ ๋จ์ ์ผ๋ก ๋ณํ๊ณ ์๋ค.
๊ฐ์ฒด์งํฅ ์ค๊ณ
AI๋ ํ๋์ ํจ์๋ ๋ชจ๋ ์์์ ๋ชจ๋ ์ ๋ณด๊ฐ ๋ช ์๋ ๊ตฌ์กฐ๋ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ๋ถ์ํ ์ ์๋ค. ๋ฐ๋ฉด์, ์ปจํ ์คํธ๊ฐ ์ฆ๊ฐํ ์๋ก ์ถ๋ก ํ ๊ตฌ๊ฐ์ด ๋์ด๋๊ธฐ ๋๋ฌธ์ AI ์ ์์ฐ์ฑ๊ณผ ์ ํ๋๋ ๋ฎ์์ง๋ค. OOP ๋ก ์ง์ฌ์ง ์ฝ๋๋ ๋ก์ง์ ํ ๊ณณ์์ ๊ด๋ฆฌํ๊ธฐ๋ณด๋ค๋ ์ฌ๋ฌ ๊ฐ์ฒด์ ๋ถ์ฐ์ํค๋ฉฐ, ์ด๋ ๊ฒฐ๊ณผ์ ์ผ๋ก AI ์๊ฒ ๋ ๋ง์ ์ปจํ ์คํธ๋ฅผ ์๊ตฌํ๊ฒ ๋๋ค. ์๋ ์ฝ๋๋ฅผ ๋ณด์.
1public class AnimalHandler {
2 public void handle(Animal animal) {
3 animal.speak();
4 }
5}
6
7public class Main {
8 public static void main(String[] args) {
9 AnimalHandler handler = new AnimalHandler();
10
11 Animal a1 = new Dog();
12 Animal a2 = new Cat();
13 Animal a3 = new Horse();
14
15 handler.handle(a1);
16 handler.handle(a2);
17 handler.handle(a3);
18 }
19}
์ ์ฝ๋์์ AI๋ speak() ๋ฉ์๋๊ฐ ์ค์ ๋ก ์ด๋ค ๋์์ ํ ์ง ์๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ์ถ๋ก ์ ๋ฐ๋ณตํด์ผ ํ๋ค
- animal์ ์ด๋ค ๊ตฌ์ฒด ํด๋์ค์ ์ธ์คํด์ค์ธ์ง?
- ๊ทธ ํด๋์ค์์ ์ค๋ฒ๋ผ์ด๋๋ speak() ๋ฉ์๋๋ ์ด๋์ ์ ์๋์ด ์๋์ง?
- Dog๊ณผ Cat ํด๋์ค์ ์ ์๋ ์ด๋์ ์์ผ๋ฉฐ, ๊ทธ ๋ด๋ถ์ ๋์์ ๋ฌด์์ธ์ง?
- Dog ์ Cat ํด๋์ค๊ฐ ๋ค๋ฅธ ํด๋์ค์์ ์ค๋ฒ๋ผ์ด๋๋ ๊ฐ๋ฅ์ฑ์ ์๋์ง?
์ด๋ฌํ ์ ๋ณด๋ ํ ํ์ผ ํน์ ํ ํจ์์ ๋ชจ์ฌ ์์ง ์๊ณ , ํด๋์ค ํ์ผ๋ค ๊ฐ์ ๊ด๊ณ์ ์์ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ผ๊ฐ์ผ๋ง ์ดํดํ ์ ์๋ค. ๋๊ตฐ๋ค๋, ๋ฆฌํ๋ ์ ๋๋ ๋์ ๋ก๋ฉ ์ฒ๋ผ ๋ฐํ์์ ๊ฒฐ์ ๋๋ ์์๋ค์ AI ์ ์ฅ์์ ๋ธ๋๋ฐ์ค์๋ ๊ฐ์, ์ฌ์ค์ ๋ถ์์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋ฌธ๋ฒ ์คํ ๋ฐ ํํ์
AI ๋ ์์์ ์ธ ๋์๋ณด๋ค ๋ช ์์ ์ธ ๋์์ ์ ํธํ๋ฉฐ, ๋ณต์กํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ฐ๊ธฐ ๋ณด๋ค๋ ๋จ์ํ ๊ตฌ์กฐ๋ฅผ ์กฐํฉํด ํ๋์ ์ ๋ต์ ๋ง๋๋ ๊ฒ์ ์ ํธํ๋ค. ๊ทธ์ ๋ฐํด, ๋ฌธ๋ฒ ์คํ์ ๋ค์ํ ํํ์ ํ์ฉํ๋ฉด์๋, ๊ทธ ๋ด๋ถ ๋์์ ๋์ผํ๊ฑฐ๋ ์ ์ฌํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. AI๋ ์ด ๋ค์ํ ํํ์ ์๋ฏธ๋ฅผ ์ผ์ผ์ด ํ์ตํด์ผ ํ๋ฉฐ, ํน์ ์ํฉ์์ ์ด๋ค ๋ฌธ๋ฒ์ ์ถ์ฒํด์ผ ํ๋์ง ์ฐ์ ์์๋ฅผ ํ๋จํ๊ธฐ ์ด๋ ค์์ง ์ ์๋ค.
์ค๊ฐ์ธ์ด ๋ฐ ๊ฐ์๋จธ์
AI๋ ๋๋ถ๋ถ ์์ค์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ตํ๋ค. ๋ฐ๋ฉด, ์ค๊ฐ ์ธ์ด(bytecode)๋ ์ปดํ์ผ ๊ณผ์ ์์ ๋ณ์๋ช ๋ฑ์ ์๋ฏธ๊ฐ ์ ๊ฑฐ๋๋ฉฐ, ์คํ ์์ ์ ๊ฐ์ ๋จธ์ ์ด ์ฌํด์ํด์ผ ํ๋ค. ์ด๋ AI๊ฐ ์ดํดํ๊ฑฐ๋ ๋ณํํ๊ธฐ ๋งค์ฐ ์ด๋ ค์ด ์์ ์ด๋ค. ์๋ฅผ ๋ค์ด AI ์๊ฒ TypeScript์์ Go๋ก์ ๋ณํ์ ๊ฐ๋ฅํ์ง๋ง, V8 engine์ ๋ฐ์ดํธ์ฝ๋๋ฅผ JVM์ ๋ฐ์ดํธ์ฝ๋๋ ๊ธฐ๊ณ์ด๋ก ๋ณํํ๋ ๊ฒ์ ์ฌ์ค์ ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น๋ค.
AI ์๋์ ์ง์ง ๋ชจ๋ ์ธ์ด
์ ๋ด์ฉ์ ํตํด ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ธ์ด์ ํน์ง๋ค์ด ์ค์ ๋ก๋ AI ์์ ์ ์ ํฉํ์ง ์์ ๊ตฌ์๋์ ์ธ ์์๋ผ๋ ๊ฒ์ ์ ์ ์๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ค ์ธ์ด๊ฐ AI ์๋์ ๊ฐ์ฅ ์ ํฉํ ๋ชจ๋ ์ธ์ด๊ฐ ๋ ์ ์์๊น? ์ด๋ ๊ณผ๊ฑฐ ๋ชจ๋ ์ธ์ด๋ค์ด ๋ฐฐ์ฒํ๋ ์์๋ค์์ ํํธ๋ฅผ ์ป์ ์ ์๋ค. AI ์๋์ ๋ชจ๋ ์ธ์ด๋
- ๋ช ์์ ์ธ ๋ฌธ๋ฒ๊ณผ ์์ฐ์ค๋ฌ์ด ํ๋ฆ์ ๊ฐ์ ธ์ผ ํ๋ค.
- ๊ณผ๋ํ OOP ๊ตฌ์กฐ๋ฅผ ๋ฒ์ด๋ ํ๋ฉด์ ์ด๊ณ ๋จ์ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค.
- ๋ถํ์ํ ๋ฌธ๋ฒ์คํ์ด๋ ์์์ ํจํด๋ณด๋ค๋, ํ์ ๋ ๊ธฐ๋ณธ ํค์๋๋ง์ผ๋ก ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ ์ํ๋ค.
- ๋ณต์กํ ๋น๋ ์์คํ ์ด ์๋ ๋จ์ํ๊ณ ์์ธก๊ฐ๋ฅํ ๋น๋ ์์คํ ์ ๊ฐ์ ธ์ผ ํ๋ค.
์ด๋ฌํ ๊ธฐ์ค์ ๊ฐ์ฅ ๋ถํฉํ๋ ์ธ์ด๋ Golang์ด๋ค. Go์ธ์ด๋ ์ต์ํ์ ํต์ฌ ํค์๋์ ๋จ์ํ ๋ฌธ๋ฒ ์กฐํฉ๋ง์ผ๋ก๋ ์ค์ฉ์ ์ธ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋๋ก ์ค๊ณ๋์์ผ๋ฉฐ, ๋ถํ์ํ ์ถ์ํ์ ์์์ ๋์์ ์ฒ ์ ํ ๋ฐฐ์ ํ๋ค. ์ด๋ ๊ฐ๋ฐ์๋ฟ๋ง ์๋๋ผ AI๊ฐ ์ฝ๋๋ฅผ ํด์ํ๊ณ ์์ฑํ๋ ๋ฐ์๋ ์ ๋ฆฌํ ๊ตฌ์กฐ์ด๋ค.
์ด์ฒ๋ผ ์์ธก ๊ฐ๋ฅํ๊ณ ํ๋ฉด์ ์ธ ๊ตฌ์กฐ, ๋ช ์์ ์ธ ํ๋ฆ, ์ผ๊ด๋ ๋ฌธ๋ฒ์ ์งํฅํ๋ Go์ ํน์ฑ์, ์ธ๊ฐ ๊ฐ๋ฐ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๊ณ๋ ๊ธฐ์กด ๋ชจ๋ ์ธ์ด๋ค๊ณผ ๋ฌ๋ฆฌ, AI๊ฐ ์ ๊ทน ์ฐธ์ฌํ๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ ์ ์ด์ธ๋ฆฐ๋ค. ํ๋๋ ๊ตฌ์๋์ ์ด๋ผ๊ณ ์ฌ๊ฒจ์ก๋ Go์ ๋ณด์์ ์ค๊ณ ์ฒ ํ์ด, ์คํ๋ ค AI ์๋์๋ ๊ฐ์ฅ ์์ ์ ํ์ด ๋๋ ์ ์ด๋ค.