๋ฐ˜์‘ํ˜•

 

์ด ๊ธ€์€ ๊ตญ๋ฏผ๋Œ€ํ•™๊ต ๊ฐ•์Šน์‹ ๊ต์ˆ˜๋‹˜์˜ 'ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด๋ก ' ์ˆ˜์—…์„ ํ† ๋Œ€๋กœ
๊ฐœ์ธ์ ์œผ๋กœ ํ•™์Šตํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

 

๊ธฐ๊ณ„์–ด๋ž€?

 

๊ธฐ๊ณ„์–ด๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์ง์ ‘ ์ดํ•ดํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, 0๊ณผ 1๋กœ ๊ตฌ์„ฑ๋œ ์ด์ง„ ์ฝ”๋“œ๋กœ ์ž‘์„ฑ๋จ

=> ์ด ์–ธ์–ด๋Š” ํŠน์ • ์ปดํ“จํ„ฐ ์•„ํ‚คํ…์ฒ˜์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๊ฒฐ์ •๋˜๋ฉฐ, ํ•˜๋“œ์›จ์–ด์™€ ์ง์ ‘ ์ƒํ˜ธ ์ž‘์šฉํ•จ

 

๊ธฐ๊ณ„์–ด๋Š” ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ๋ช…๋ น์„ ์ง์ ‘ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ธฐ์— ๋ฒˆ์—ญ ๊ณผ์ •์ด ์—†๊ณ  ์ด์— ๋”ฐ๋ผ ์‹คํ–‰ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฆ„

=> ํ•˜์ง€๋งŒ, ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๊ณ , ์ž‘์„ฑ ๋ฐ ์ˆ˜์ •์ด ๋งค์šฐ ๋ณต์žกํ•จ

 

 

๊ธฐ๊ณ„์–ด์˜ ์ฃผ์š” ํŠน์ง•์„ ์‚ดํŽด๋ณด๋ฉด

 

  • ์ด์ง„ ์ฝ”๋“œ : 0๊ณผ 1๋กœ๋งŒ ๊ตฌ์„ฑ๋จ (2์ง„์ˆ˜)

    => ๋ช…๋ น์–ด๋Š” ํŠน์ • ์ˆ˜์˜ ๋น„ํŠธ๋กœ ๊ตฌ์„ฑ๋จ

  • ํ•˜๋“œ์›จ์–ด ์ข…์†์„ฑ : ํŠน์ • ์ปดํ“จํ„ฐ ์•„ํ‚คํ…์ฒ˜์— ๋งž์ถฐ์ ธ ์žˆ์Œ 

    => ๊ฐ CPU ์•„ํ‚คํ…์ฒ˜์— ๋งž์ถฐ์ ธ ์žˆ์Œ (x86, ARM, MIPS ๋“ฑ)

  • ์ง์ ‘ ์‹คํ–‰ ๊ฐ€๋Šฅ : ๋ฒˆ์—ญ ๊ณผ์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Œ

  • ์ˆ˜์ • ๋ฐ ์ž‘์„ฑ์˜ ์–ด๋ ค์›€ : ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๊ณ , ์ž‘์„ฑ ๋ฐ ์ˆ˜์ •์ด ๋ณต์žกํ•จ

 

๊ธฐ๊ณ„์–ด๋Š” CPU(์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜)๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์–ธ์–ด๋กœ, ๊ฐ ๋ช…๋ น์–ด๊ฐ€ ํŠน์ •ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด์žˆ์Œ

=> 01000100... ์ด๋Ÿฐ์‹์œผ๋กœ ๋ช…๋ น์„ ๋‚ด๋ฆฌ๋ฉด ํŠน์ • ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ด ๋ฏธ๋ฆฌ ์ง€์ •๋˜์–ด ์žˆ์Œ

 

 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ž€?

 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ๊ธฐ๊ณ„์–ด์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๊ธฐํ˜ธ๋กœ ๋ณ€ํ™˜ํ•œ ์–ธ์–ด์ž„

=> ์ด ์–ธ์–ด๋Š” ๊ธฐ๊ณ„์–ด์™€ 1:1๋กœ ๋Œ€์‘๋˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‰ฝ๊ฒŒ ์ฝ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ

 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜๋˜์–ด์•ผ ํ•˜๋ฉฐ ๊ธฐ๊ณ„์–ด์™€ ๋™์ผํ•˜๊ฒŒ ํŠน์ • CPU ์•„ํ‚คํ…์ฒ˜์— ๋งž์ถฐ์ ธ์žˆ์Œ

 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด์˜ ์ฃผ์š” ํŠน์ง•์„ ์‚ดํŽด๋ณด๋ฉด 

 

  • ๊ธฐํ˜ธ ์–ธ์–ด : ๊ธฐ๊ณ„์–ด์˜ ๋ช…๋ น์–ด๋ฅผ ๊ธฐํ˜ธ๋กœ ํ‘œํ˜„ํ•จ

  • 1:1 ๋Œ€์‘ : ๊ธฐ๊ณ„์–ด์™€ ์ง์ ‘ ๋Œ€์‘

  • ์–ด์…ˆ๋ธ”๋Ÿฌ ํ•„์š” :  ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์–ด์…ˆ๋ธ”๋Ÿฌ๊ฐ€ ํ•„์š”ํ•จ

  • ํ•˜๋“œ์›จ์–ด ์ข…์†์„ฑ : ํŠน์ • CPU ์•„ํ‚คํ…์ฒ˜์— ๋งž์ถฐ์ ธ ์žˆ์Œ

 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ํ•˜๋“œ์›จ์–ด์— ์ง์ ‘์ ์ธ ์ ‘๊ทผ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ •ํ™•ํ•œ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•ด์„œ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ(๋ฉ”๋ชจ๋ฆฌ์™€ ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ์ด ์ œํ•œ๋œ ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ), ์‹ค์‹œ๊ฐ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜(์„ฑ๋Šฅ์ด ๊ทน๋„๋กœ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์— ํ•œ์ •), ํ•˜๋“œ์›จ์–ด ๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ(ํ•˜๋“œ์›จ์–ด) ๋“ฑ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค๊ณ ํ•จ

 

 

๊ณ ๊ธ‰์–ธ์–ด๋ž€?

 

๊ณ ๊ธ‰์–ธ์–ด๋Š” ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž„
=> ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๋†’์•„ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ•˜๋“œ์›จ์–ด์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ ๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ

 

๊ณ ๊ธ‰์–ธ์–ด๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ํ†ตํ•ด ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญ๋˜์–ด ์‹คํ–‰๋จ
=> ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๊ณ , ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ด์คŒ

 

๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด

 

์ถœ์ฒ˜ : https://velog.io/@tsi0521/Java๋Š”-์ปดํŒŒ์ผ๋Ÿฌ์™€-์ธํ„ฐํ”„๋ฆฌํ„ฐ-๋‘˜-๋‹ค-๊ฐ€์ง„๋‹ค

 

์ปดํŒŒ์ผ ์–ธ์–ด

 

1. ์†Œ์Šค ์ฝ”๋“œ ์ž‘์„ฑ (๊ณ ๊ธ‰ ์–ธ์–ด๋กœ)

 

2. ์ „์ฒ˜๋ฆฌ : ํ•„์š”ํ•œ ํ—ค๋” ํŒŒ์ผ์ด๋‚˜ ๋งคํฌ๋กœ๋ฅผ ์ฒ˜๋ฆฌํ•จ

 

3. ์ปดํŒŒ์ผ : ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋‚˜ ์ค‘๊ฐ„ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•จ

 

4. ์–ด์…ˆ๋ธ”๋ฆฌ : ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ์–ด์…ˆ๋ธ”๋Ÿฌ๊ฐ€ ์ด๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•จ

 

5. ๋งํ‚น : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ์„ ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•จ

6. ์‹คํ–‰ : ์ƒ์„ฑ๋œ ์‹คํ–‰ ํŒŒ์ผ์€ CPU์—์„œ ์ง์ ‘ ์‹คํ–‰๋จ

 

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด

 

1. ์†Œ์Šค ์ฝ”๋“œ ์ž‘์„ฑ (๊ณ ๊ธ‰ ์–ธ์–ด๋กœ)

 

2. ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์‹คํ–‰ : ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ , ๊ฐ ๋ผ์ธ์„ ์ค‘๊ฐ„ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•จ

3. ์‹คํ–‰ : ์ค‘๊ฐ„ ์ฝ”๋“œ๊ฐ€ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์—์„œ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜๋˜์–ด ์‹คํ–‰๋จ

4. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ : ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์ฆ‰์‹œ ์•Œ๋ฆฌ๊ณ , ์ˆ˜์ • ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

 

์ปดํŒŒ์ผ ์–ธ์–ด vs ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด

๋‘˜๋‹ค ๊ณ ๊ธ‰์–ธ์–ด๋กœ ๋ถ„๋ฅ˜๋˜๋Š”๋ฐ C, C++ ๋“ฑ์€ ์ปดํŒŒ์ผ์–ธ์–ด Python, JavaScript ๋“ฑ์€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋กœ ๋‚˜๋ˆ ์ง

์ปดํŒŒ์ผ ์–ธ์–ด๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ์— ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๊ณ  ๋ฒˆ์—ญ๋œ ๊ธฐ๊ณ„์–ด๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•จ
(์‹คํ–‰ ์†๋„ ๋น ๋ฆ„)

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ผ์ธ๋ณ„๋กœ ๋ฒˆ์—ญํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ณ  ๋ฒˆ์—ญ๋œ ์ฝ”๋“œ๊ฐ€ ์ฆ‰์‹œ ์‹คํ–‰๋˜๊ธฐ์— ์‹คํ–‰ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์ง€ ์•Š์Œ
(์‹คํ–‰ ์†๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆผ)

 

์ค‘๊ฐ„ ์ฝ”๋“œ(Intermediate Code)๋Š” ๊ณ ๊ธ‰ ์–ธ์–ด์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ค‘๊ฐ„ ๋‹จ๊ณ„์˜ ์ฝ”๋“œ์ž„

=> ๊ณ ๊ธ‰ ์–ธ์–ด์™€ ๊ธฐ๊ณ„์–ด ์‚ฌ์ด์˜ ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์„์คŒ

(์–ด์…ˆ๋ธ”๋ฆฌ์–ด์™€ ๋‹ฌ๋ฆฌ ํŠน์ • CPU ์•„ํ‚คํ…์ฒ˜์— ์ข…์†๋˜์ง€ ์•Š์Œ)

 

 

๊ณ ๊ธ‰์–ธ์–ด์˜ ์ฃผ์š” ํŠน์ง•์„ ์‚ดํŽด๋ณด๋ฉด

 

  • ์ถ”์ƒํ™” : ํ•˜๋“œ์›จ์–ด ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ˆจ๊น€

  • ์žฌ์‚ฌ์šฉ์„ฑ : ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์ด ์šฉ์ดํ•จ

  • ์œ ์ง€๋ณด์ˆ˜์„ฑ : ์ฝ”๋“œ์˜ ์ˆ˜์ • ๋ฐ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›€

  • ๋ฒˆ์—ญ ํ•„์š” : ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ํ†ตํ•ด ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญ๋จ

 

๊ธฐ๊ณ„์–ด์™€ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด์˜ ์ฐจ์ด์ ์€?

 

๊ธฐ๊ณ„์–ด๋Š” 0๊ณผ 1๋กœ ๊ตฌ์„ฑ๋œ ์ด์ง„ ์ฝ”๋“œ๋กœ, ์ปดํ“จํ„ฐ๊ฐ€ ์ง์ ‘ ์ดํ•ดํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด์ด๊ณ 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ๊ธฐ๊ณ„์–ด์˜ ๋ช…๋ น์–ด๋ฅผ ๊ธฐํ˜ธ๋กœ ๋ณ€ํ™˜ํ•œ ์–ธ์–ด๋กœ, ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์กŒ์Œ

 

๊ธฐ๊ณ„์–ด๋Š” ์ง์ ‘ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ์–ด์…ˆ๋ธ”๋Ÿฌ๋ฅผ ํ†ตํ•ด ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜๋˜์–ด์•ผํ•จ

 

์ฃผ์š” ์ฐจ์ด์ ์„ ์‚ดํŽด๋ณด๋ฉด

 

  • ํ‘œํ˜„ ๋ฐฉ์‹ : ๊ธฐ๊ณ„์–ด๋Š” ์ด์ง„ ์ฝ”๋“œ, ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ๊ธฐํ˜ธ ์–ธ์–ด์ž„

  • ๋ฒˆ์—ญ ํ•„์š”์„ฑ : ๊ธฐ๊ณ„์–ด๋Š” ๋ฒˆ์—ญ์ด ํ•„์š”ํ•˜์ง€ ์•Š์ง€๋งŒ, ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ์–ด์…ˆ๋ธ”๋Ÿฌ๋ฅผ ํ†ตํ•ด ๋ฒˆ์—ญ๋จ

  • ์ดํ•ด ์šฉ์ด์„ฑ : ๊ธฐ๊ณ„์–ด๋Š” ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๊ณ , ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›€

 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด์™€ ๊ณ ๊ธ‰์–ธ์–ด์˜ ์ฐจ์ด์ ์€?

 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ๊ธฐ๊ณ„์–ด์™€ 1:1๋กœ ๋Œ€์‘๋˜๋Š” ๊ธฐํ˜ธ ์–ธ์–ด๋กœ ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ

๊ณ ๊ธ‰์–ธ์–ด๋Š” ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๋†’์•„ ํ•˜๋“œ์›จ์–ด์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์‹ ๊ฒฝ  ์“ฐ์ง€ ์•Š๊ณ ๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ

 

์ฃผ์š” ์ฐจ์ด์ ์„ ์‚ดํŽด๋ณด๋ฉด

 

  • ์ถ”์ƒํ™” ์ˆ˜์ค€ : ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ, ๊ณ ๊ธ‰์–ธ์–ด๋Š” ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๋†’์Œ

  • ๋ฒˆ์—ญ ๋ฐฉ์‹ : ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ์–ด์…ˆ๋ธ”๋Ÿฌ๋ฅผ ํ†ตํ•ด ๋ฒˆ์—ญ๋˜๋ฉฐ, ๊ณ ๊ธ‰์–ธ์–ด๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ํ†ตํ•ด ๋ฒˆ์—ญ๋จ

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฉ์ด์„ฑ : ๊ณ ๊ธ‰์–ธ์–ด๋Š” ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์šฉ์ดํ•จ

 

C++๊ณผ Java ์–ธ์–ด์˜ ์ฐจ์ด์ ์€?

 

์šฐ์„  C++๊ณผ Java๋Š” ๋ชจ๋‘ ๊ณ ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž„

 

C++๋Š” ์ปดํŒŒ์ผ ์–ธ์–ด๋กœ, ์‹คํ–‰ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ์ง์ ‘ ๊ฐ€๋Šฅํ•จ

=> ๋ณต์žกํ•œ ์ฝ”๋“œ ๊ตฌ์กฐ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ์–ด๋ ค์›€์ด ์žˆ์Œ

 

Java๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์–ธ์–ด(์ปดํŒŒ์ผ + ์ธํ„ฐํ”„๋ฆฌํ„ฐ)๋กœ ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ด๋ฉฐ, Garbage Collection์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ์ž๋™ํ™” ๋˜์–ด ์žˆ์Œ

=> C++ ๋ณด๋‹ค๋Š” ๋Š๋ฆด ์ˆ˜ ์žˆ์Œ

 

์ฃผ์š” ์ฐจ์ด์ ์„ ์‚ดํŽด๋ณด๋ฉด

 

  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ : C++๋Š” ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ, Java๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ํ†ตํ•ด ์ž๋™ ๊ด€๋ฆฌ๋จ

  • ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ : Java๋Š” ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ด๋ฉฐ, C++๋Š” ํŠน์ • ํด๋žซํผ์— ๋งž์ถฐ ์ปดํŒŒ์ผํ•ด์•ผํ•จ

    => C++์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๊ณ  Java๋Š” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ๋ณ€ํ˜•ํ•˜๊ณ , ์ž๋ฐ” ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ๋Ÿฐํƒ€์ž„์— ์‹คํ–‰์‹œํ‚ค๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ

    (C++ ์ฝ”๋“œ ์ž์ฒด๊ฐ€ ํ”Œ๋žซํผ์— ์ข…์†๋œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹˜ x86 ์•„ํ‚คํ…์ฒ˜์šฉ์œผ๋กœ ์ปดํŒŒ์ผ๋œ ์‹คํ–‰ ํŒŒ์ผ์€ ARM ์•„ํ‚คํ…์ฒ˜์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด๋จ)

  • ์‹คํ–‰ ์†๋„ : C++๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ Java๋ณด๋‹ค ์‹คํ–‰์†๋„๊ฐ€ ๋น ๋ฆ„

 

๊ฒŒ์ž„ ์—”์ง„์ด๋‚˜, ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋งค๋งค๊ฐ€ ์ผ์–ด๋‚˜๋Š” ์‹œ์Šคํ…œ์—์„œ๋Š” C++๊ฐ€ ์œ ๋ฆฌํ•จ
=> ํšจ์œจ์„ฑ, ๋น ๋ฅธ์†๋„, ๋™์  ๋ฉ”๋ชจ๋ฆฌ ์ด์šฉ

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ๋ฉด์—์„œ๋Š” Java๊ฐ€ ์œ ๋ฆฌํ•จ
=> ์‚ฌ์šฉ์„ฑ์˜ ์œ ์—ฐ์„ฑ
(C++์˜ ๋น„ํ•ด ๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ๋งŽ์Œ)

 

 

์ฐธ๊ณ ๋ฌธํ—Œ

 

https://blog.naver.com/loveyou_a_a/222134634322

 

[์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ] ๊ธฐ๊ณ„์–ด

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ฐœ์š” 1. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ฐœ์š” - ํ”„๋กœ๊ทธ๋žจ : ์ปดํ“จํ„ฐ๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋ช…๋ น์–ด๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ...

blog.naver.com

 

https://hi-guten-tag.tistory.com/224

 

[์ปดํ“จํ„ฐ ๊ตฌ์กฐ] Assembly Language (์ปดํ“จํ„ฐ์˜ ์–ธ์–ด - ์–ด์…ˆ๋ธ”๋ฆฌ์–ด)

์•ž์˜ ๊ธ€์„ ์ฝ์œผ์‹œ๋ฉด ์ดํ•ด์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. 2022.09.23 - [Computer Science/์ปดํ“จํ„ฐ ๊ตฌ์กฐ] - [์ปดํ“จํ„ฐ ๊ตฌ์กฐ] Introduction to Computre Architecture (์ปดํ“จํ„ฐ ๊ตฌ์กฐ์˜ ์†Œ๊ฐœ) [์ปดํ“จํ„ฐ ๊ตฌ์กฐ] Introduction to Computer Architecture (์ปด

hi-guten-tag.tistory.com

 

https://movefun-tech.tistory.com/1

 

[001] ์ €๊ธ‰ ์–ธ์–ด์™€ ๊ณ ๊ธ‰ ์–ธ์–ด. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ข…๋ฅ˜๋ฅผ ์•Œ์•„๋ณด์ž!

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ €๊ธ‰ ์–ธ์–ด์™€ ๊ณ ๊ธ‰ ์–ธ์–ด๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๊ธ‰ ์–ธ์–ด์—๋Š” ๊ธฐ๊ณ„์–ด(Machine Language)์™€ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด(Assembly Language)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ์–ธ์–ด๋Š” C์–ธ์–ด, JAVA, Python ๋“ฑ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค.

movefun-tech.tistory.com

 

https://devnick.tistory.com/25

 

๊ธฐ๊ณ„์–ด์™€ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ๊ณ ๊ธ‰์–ธ์–ด

๊ณ ๊ธ‰์–ธ์–ด: ์ผ๋ฐ˜์ ์œผ๋กœ ์–ธ๊ธ‰๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด C์–ธ์–ด, ํŒŒ์ด์ฌ, ์ž๋ฐ” ๋“ฑ ๊ณ ๊ธ‰์–ธ์–ด๋ฅผ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๋ฒˆ์—ญ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด : ์ปดํŒŒ์ผ๋Ÿฌ ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ๊ธฐ๊ณ„๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•

devnick.tistory.com

 

https://haward.tistory.com/144

 

[์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ 1๊ฐ•] ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ž€

์–ด์…ˆ๋ธ”๋ฆฌ์–ด ์†Œ๊ฐœ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ฅผ ์šฐ๋ฆฌ๊ฐ€ ๊ณต๋ถ€ํ•˜๋Š” ์ด์œ ๋น„์ „๊ณต์ž์™€์˜ ์ฐจ๋ณ„์  - ์ปดํ“จํ„ฐ ์‚ฌ์ด์–ธ์Šค์˜ ์ „๋ฐ˜์ ์ธ ์ง€์‹์ด ํ•„์š”ํ•˜๋‹ค. ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์•„๋Š” ๊ฒƒ๊ณผ ๋ชจ๋ฅด๋Š” ๊ฒƒ์€ ํฐ ์ฐจ๋ณ„

haward.tistory.com

 

https://siloam72761.tistory.com/entry/C-C%EA%B3%BC-JAVA%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EA%B3%BC-%EA%B0%81-%EC%96%B8%EC%96%B4%EC%9D%98-%EC%9E%A5%EB%8B%A8%EC%A0%90

 

[C++] C++๊ณผ JAVA์˜ ์ฐจ์ด์ ๊ณผ ๊ฐ ์–ธ์–ด์˜ ์žฅ๋‹จ์ 

0. C++์˜ ํŠน์ง• ํ”ํžˆ ๋งํ•˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์˜ ํŠน์ง•๋“ค์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ์ƒ์†์„ฑ, ์บก์Šํ™”, ๋‹คํ˜•์„ฑ(๋™์ , ์ •์ ) ๋“ฑ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์˜ ํŠน์ง•์„ ์ง€์›ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์™€ ๋‹ค๋ฅด๊ฒŒ, ํด

siloam72761.tistory.com

 

https://jooona.tistory.com/157

 

[JAVA] JAVA๋Š” ์ปดํŒŒ์ผ ์–ธ์–ด์ผ๊นŒ, ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ผ๊นŒ?

์•ž์˜ ๊ธ€์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์ฝ”๋”ฉ ์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋“ค์€ ์ปดํŒŒ์ผ ์–ธ์–ด์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹ค์‹œ ๊ธฐ์ˆ ํ•˜์ž๋ฉด, C, C++, Go ๋“ฑ์˜ ์–ธ์–ด๋Š” ์ปดํŒŒ์ผ ์–ธ์–ด์ด๊ณ , Python, R, Java

jooona.tistory.com

 

๋ฐ˜์‘ํ˜•