-
[์ฉ์ด์ ๋ฆฌ] ์ธ์ด ๋ฐ ์ฝ๋๐ป IT Study/Knowledge 2022. 4. 12. 20:46
โป ์ ์ด๋ฏธ์ง๋ ์ดํดํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๊ทธ๋ ค๋ธ ๋ํ์ ๋๋ค. ์๋ชป๋ ๋ถ๋ถ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์ :-)
์ ๊ธ์ธ์ด vs ๊ณ ๊ธ์ธ์ด
๊ณ ๊ธ์ธ์ด (High-Level Language) : ์ฌ๋์ด ์๊ธฐ ์ฝ๋๋ก ์์ด์ง ์ธ์ด
- ์ฌ์ฉ์ ์์ฃผ์ ์ธ์ด
- ๊ฐ๋ ์ฑ์ด ๋์ผ๋ฉฐ ๋ค๋ฃจ๊ธฐ ๊ฐ๋จํ๋ค.
- ์ปดํ์ผ๋ฌ๋ ์ธํฐํ๋ฆฌํฐ์ ์ํด ์ ๊ธ์ธ์ด๋ก ๋ฒ์ญ๋์ด ์คํ๋๋ค.
ex) FORTRAN, COBOL, Java, C++ …
์ ๊ธ์ธ์ด (Low-Level Language) : ์ปดํจํฐ ๋ด๋ถ์์ ๋ฐ๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์ธ์ด
- ํ๋์จ์ด ์์ฃผ์ ์ธ์ด
- ํ๋ก๊ทธ๋จ ์๋๊ฐ ๋น ๋ฅด๋ค.
ex) ๊ธฐ๊ณ์ด. ์ด์ ๋ธ๋ฆฌ์ด
์ ๊ธ์ธ์ด - ๊ธฐ๊ณ์ด vs ์ด์ ๋ธ๋ฆฌ์ด
1) ๊ธฐ๊ณ์ด(Machine Language) : 0๊ณผ 1๋ก ๊ตฌ์ฑ๋ ๋ฐ์ด๋๋ฆฌ ์ฝ๋
- ๊ธฐ๊ณ์ด๊ฐ ์ด์ง์ฝ๋๋ก ์ด๋ฃจ์ด์ก์ ๋ฟ. ๋ชจ๋ ์ด์ง์ฝ๋๊ฐ ๊ธฐ๊ณ์ด๋ ์๋๋ค. (๋ฐ์ด๋๋ฆฌ์ฝ๋ != ๊ธฐ๊ณ์ด)
- ๊ธฐ๊ณ์ด๋ ํน์ ์ธ์ด๊ฐ ์๋๋ค.
- CPU ์ ์กฐ ์ CPU์์ ์ฌ์ฉํ๋ ๋ช ๋ น์ด ์งํฉ์ '๊ธฐ๊ณ์ด'๋ก ๋ถ๋ฅผ ๋ฟ.
- ์ปดํจํฐ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ๊ธฐ๊ณ์ด๊ฐ ๋ฌ๋ผ์ง๋ค.
2) ์ด์ ๋ธ๋ฆฌ์ด(Assembly Language) : ๊ธฐ๊ณ์ด์ ์ผ๋์ผ๋์ ๋๋ ๋๋ชจ๋ ๊ธฐํธ(mnemonic symbol)๋ฅผ ์ด์ฉํ ์ฝ๋
- ๊ฐ ๋ช ๋ น์ด์ ๋ํด ๋๋ชจ๋ ๊ธฐํธ๋ฅผ ์ ํด ์ฌ๋์ด ์ข ๋ ์ฝ๊ฒ ์ปดํจํฐ์ ํ๋์ ์ ์ด ๊ฐ๋ฅํ๋๋ก ํจ.
- ์ต์ํ์ ๋ช ๋ น์ผ๋ก ์ด๋ฃจ์ด์ง ์ธ์ด๋ก ๋งค์ฐ ์ธ๋ฐํ๊ฒ ๋ช ๋ น์ ๋ด๋ฆผ
*๋๋ชจ๋๊ธฐํธ๋ ์ด์ง์ฝ๋๋ณด๋ค ์ฌ๋์ด ์์๋ณด๊ธฐ ์ฝ๋ค.
์์์ฝ์ค vs ๋ชฉ์ ์ฝ๋
์์์ฝ๋(Source Code) : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋ ํ ์คํธ
- ์ฌ๋์ด ์์ฑํ๋ ๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ์ฝ๊ธฐ ์ข์ ์ฝ๋
๋ชฉ์ ์ฝ๋(Object Code) : ์ปดํ์ผ๋ฌ์ ์ํด ๋ฒ์ญ๋ ์์ค์ฝ๋
- ์ปดํ์ผ๋ฌ๋ ์ด์ ๋ธ๋ฌ์ ์ํด ์์ฑ๋ ์ฝ๋
๋ฐ์ดํธ์ฝ๋ vs ๋ฐ์ด๋๋ฆฌ์ฝ๋
๋ฐ์ดํธ์ฝ๋(Byte Code) : ๊ฐ์๋จธ์ (Virtual Machine)์ด ์ธ์ํ ์ ์๋์ฝ๋
- ์์ค์ฝ๋๊ฐ ์๋ฐ ์ปดํ์ผ๋ฌ์ ์ํด ๋ณํ๋๋ ์ฝ๋์ ๋ช ๋ น์ด ํฌ๊ธฐ๊ฐ 1Byte์ด๊ธฐ ๋๋ฌธ
- ์์ค์ฝ๋๋ฅผ ๊ฐ์๋จธ์ ์ด ์ดํดํ ์ ์๋ ์ค๊ฐ์ฝ๋๋ก ์ปดํ์ผ ํ ๊ฒ.
- ๋ฐ์ดํธ ์ฝ๋๋ ๋ค์ ์ค์๊ฐ ๋ฒ์ญ๊ธฐ or JIT(Just-In-Time) ์ปดํ์ผ๋ฌ์ ์ํด ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ก ๋ณํ
๋ฐ์ด๋๋ฆฌ์ฝ๋(Binary Code) : ์ปดํจํฐ(CPU)๊ฐ ์ธ์ํ ์ ์๋ 0๊ณผ 1๋ก ๊ตฌ์ฑ๋ ์ด์ง์ฝ๋
* ์ฐธ๊ณ ์ฌ์ดํธ
https://greendreamtrre.tistory.com/65
์ปดํ์ผ๋ฌ, ๋ชฉ์ ํ์ผ, ๋ฐ์ดํธ ์ฝ๋, ๋ฐ์ด๋๋ฆฌ ์ฝ๋, ์ด์ ๋ธ๋ฆฌ์ด, ๊ธฐ๊ณ์ด
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Programing language) : ์ฌ๋์ด ์์ฑํ๋ ๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ์ฝ๊ธฐ ์ข์ ์ฝ๋.... C, C++, Java, Python, Swift, Go... ์ปดํ์ผ(Compile) : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด ํน์ ๊ธฐ๊ณ์ด์ ์ ์ฌํ Low Leve..
greendreamtrre.tistory.com
https://shrtorznzl.tistory.com/82
๋ฐ์ดํธ์ฝ๋์ ๋ฐ์ด๋๋ฆฌ ์ฝ๋์ ์ฐจ์ด๋ ๋ฌด์์ผ๊น?
C์ธ์ด๋ ์ปดํ์ผ๋ฌ์ ์ํด ์์คํ์ผ(*.c)์ด ๋ชฉ์ ํ์ผ(*.obj)๋ก ๋ณํ๋ ๋ ๋ฐ์ด๋๋ฆฌ ํ์ผ, ์ฆ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ฝ๋๋ก ๋ณํ๋๋ค. ์ฆ, ์ปดํ์ผ ํ์ ์ด๋ฏธ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ์ด์ง์ฝ๋๋ก ๋ณํ๋๋
shrtorznzl.tistory.com
[Java] JVM์ ๋ฌด์์ด๋ฉฐ ์๋ฐ ์ฝ๋๋ ์ด๋ป๊ฒ ์คํํ๋ ๊ฒ์ธ๊ฐ
2. JVM์ ๋ฌด์์ด๋ฉฐ ์๋ฐ ์ฝ๋๋ ์ด๋ป๊ฒ ์คํํ๋ ๊ฒ์ธ๊ฐ
velog.io
https://ko.wikipedia.org/wiki/%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4
์ด์ ๋ธ๋ฆฌ์ด - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ด์ ๋ธ๋ฆฌ์ด(์์ด: assembly language) ๋๋ ์ด์ ๋ธ๋ฌ ์ธ์ด(assembler language)[1]๋ ๊ธฐ๊ณ์ด์ ์ผ๋์ผ ๋์์ด ๋๋ ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์ ์ ๊ธ ์ธ์ด์ด๋ค. ์ปดํจํฐ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ๊ธฐ๊ณ์ด๊ฐ ๋ฌ๋ผ์ง๋ฉฐ, ๋ฐ
ko.wikipedia.org
'๐ป IT Study > Knowledge' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JVM ๋์๊ณผ์ (0) 2022.05.22 ๋ฆฌ๋ ์ค ๋ช ๋ น์ด ๋ชจ์zip (0) 2022.04.20 [์ฉ์ด์ ๋ฆฌ] ์ปดํ์ผ(Compile), ๋งํฌ(Link), ๋น๋(Build) (0) 2022.04.10 [์ฉ์ด์ ๋ฆฌ] JVM , JRE, JDK ๊ฐ๋จํ ์์๋ณด๊ธฐ (0) 2021.11.07 ํ๋ก์(Proxy) (0) 2021.09.26