ICT

μžλ°”λž€ 무엇인가? μžλ°”μ˜ λŒ€ν•΄ μ•Œμ•„λ³΄μž

μ•Œ 수 μ—†λŠ” μ‚¬μš©μž 2016. 12. 13. 12:29
λ°˜μ‘ν˜•

μ•ˆλ…•ν•˜μ„Έμš” KG아이티뱅크 κ΅μœ‘νŒ€μž₯μž…λ‹ˆλ‹€.


μ˜€λŠ˜μ€ μžλ°”μ— λŒ€ν•΄ μ•Œμ•„λ³΄λ €κ³  ν•΄μš”











μžλ°”μ— μ„€λͺ…ν•˜κΈ°μ— μ•žμ„œ 언어에 λŒ€ν•΄ μ•Œμ•„μ•Ό 


이해가 μ‰¬μš΄λ°μš”. 저희와 같은 μ‚¬λžŒλ“€μ€ μžμ—°μ–΄λΌκ³ 


ν•΄μ„œ μš°λ¦¬κ°€ 일상적인 언어듀을 λ§ν•˜λŠ”λ°μš” μ»΄ν“¨ν„°λŠ”


μ»΄ν“¨ν„°μ˜ 언어인 2μ§„μˆ˜(숫자)둜된 기계어λ₯Ό μ‚¬μš©ν•œλ‹΅λ‹ˆλ‹€.


κ·Έλž˜μ„œ μ»΄ν“¨ν„°λŠ” μžμ—°μ–΄λ₯Ό μ΄ν•΄ν•˜κΈ°μ— λ‹€μ†Œ μ• λ§€λͺ¨ν˜Έν•˜λ©°


μ–΄λ €μš΄ 점이 있기 λ•Œλ¬Έμ— κ·œμΉ™μ„ κ°€μ§„ μ–Έμ–΄κ°€ ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€.


그게 λ°”λ‘œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μž…λ‹ˆλ‹€.












μ΄λŸ¬ν•œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” 컴퓨터 μ–Έμ–΄(기계어)라고 ν•˜κΈ°λ„ 


κ·Έλ ‡κ³  μ‚¬λžŒμ˜ μ–Έμ–΄(μžμ—°μ–΄)라고 ν•˜κΈ°μ—λ„ μ• λ§€λͺ¨ν˜Έν•œ μ–Έμ–΄


μΈλ°μš”. 기본적인 문법을 κ°€μ§€κ³  μž‘μ„±μ„ ν•˜λ©΄ 컴파일러라고 


ν•˜λŠ” λ²ˆμ—­ ν”„λ‘œκ·Έλž¨μ΄ κ·œμΉ™μ— 따라 컴파일(λ²ˆμ—­)을 ν•˜κ²Œ 


λ©λ‹ˆλ‹€. κ·Έλ ‡κ²Œ 되면 ν”„λ‘œκ·Έλž˜λ¨Έμ™€ 컴퓨터 μ‚¬μ΄μ˜ μ˜μ‚¬μ†Œν†΅μ΄


κ°€λŠ₯ν•˜κ²Œ λ˜λŠ” κ²λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ μ»΄νŒŒμΌλŸ¬λŠ” 어디에 μžˆλŠ”


κ²ƒμΌκΉŒμš”? μžλ°”μ—μ„œλŠ” JDKλΌλŠ” ν”„λ‘œκ·Έλž¨ 내뢀에 μ‘΄μž¬ν•©λ‹ˆλ‹€. 


κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μžλ°”λ₯Ό μ΄μš©ν•œ κ°œλ°œμ„ ν•˜κΈ° μœ„ν•΄μ„œλŠ” JDKλ₯Ό


μ„€μΉ˜ν•˜μ…”μ•Ό ν•©λ‹ˆλ‹€. JDKλŠ” μ˜€λΌν΄μ—μ„œ μ„€μΉ˜ν•˜λ©΄ λ©λ‹ˆλ‹€.











κ°„λž΅νžˆ μ •λ¦¬ν•˜μžλ©΄ μžλ°”λž€ κ°μ²΄μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ μž…λ‹ˆλ‹€.


μ—¬λŸ¬κ°œμ˜ 객체듀을 λ§Œλ“€κ³  κ·Έ κ°μ²΄λ“€μ˜ 관계λ₯Ό


ν”„λ‘œκ·Έλž˜λ°μœΌλ‘œ μ„€μ •ν•΄ κ°€λŠ” 것을 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° 


언어라 ν•©λ‹ˆλ‹€.


μžλ°”λ₯Ό 톡해 ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜κ²Œ 되면 '.java'λΌλŠ” ν™•μž₯자λ₯Ό


κ°€μ§€κ²Œ λ˜λŠ”λ°μš” 이λ₯Ό 컴퓨터가 이해할 수 μžˆλŠ” κΈ°κ³„μ–Έμ–΄λ‘œ


λ³€κ²½μ‹œμΌœμ£ΌλŠ” 'javac'λΌλŠ” μžλ°” μ „μš© 컴파일러λ₯Ό μ‚¬μš©ν•œλ‹€κ³  


ν•©λ‹ˆλ‹€. μ»΄νŒŒμΌλ§μ„ ν•˜κ³  λ‚˜λ©΄ '.class'λΌλŠ” 파일이 μƒμ„±λ˜κ³ 


이 νŒŒμΌμ„ μžλ°” 가상머신(JVM)을 톡해 μ½”λ“œκ°€ μ‹€ν–‰λ˜λŠ” κ±°μ£ 


이것이 λ°”λ‘œ μžλ°”λ₯Ό ν†΅ν•œ ν”„λ‘œκ·Έλž˜λ° μ‹€ν–‰ μˆœμ„œ μž…λ‹ˆλ‹€.











JAM에 λŒ€ν•΄ μ„€λͺ…을 λ“œλ¦¬μžλ©΄ μžλ°”λ‘œ μž‘μ„±λœ ν”„λ‘œκ·Έλž¨μ„


μ‹€ν–‰ν•˜κΈ° μœ„ν•œ κ²ƒμœΌλ‘œ μœ„μ—μ„œ λ§ν•œ κ²ƒμ²˜λŸΌ μžλ°”λ‘œ μž‘μ„±ν•œ


μ†ŒμŠ€μ½”λ“œλ₯Ό 컴퓨터가 이해할 수 μžˆλ„λ‘ λ²ˆμ—­ν•΄ μ£ΌλŠ” 


역할을 ν•©λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ μžλ°” ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜κΈ° μœ„ν•΄μ„œλŠ”


μ–΄λ–»κ²Œ ν•΄μ•Ό ν•©λ‹ˆκΉŒ?










μžλ°” ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜κΈ° μœ„ν•΄μ„œλŠ” 크게 두가지λ₯Ό ν•„μˆ˜λ‘œ 


μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. λ°”λ‘œ μ΄ν΄λ¦½μŠ€μ™€ JDK(JAVA Development Kit)


μž…λ‹ˆλ‹€. μ΄ν΄λ¦½μŠ€λŠ” μžλ°”λ₯Ό μ‰½κ²Œ μ‚¬μš©ν•˜κ²Œ λ§Œλ“€μ–΄ μ£ΌλŠ” νˆ΄ν‚·μ΄κ΅¬μš”


JDKλŠ” μžλ°”λΌλŠ” μ–Έμ–΄λ₯Ό μ»΄ν“¨ν„°μ—μ„œ μ‚¬μš© κ°€λŠ₯ν•˜κ²Œ λ§Œλ“€μ–΄μ£ΌλŠ” 


μžλ°” ν™˜κ²½λ„κ΅¬λΌκ³  ν•©λ‹ˆλ‹€.










μžλ°”μ˜ νŠΉμ§•μœΌλ‘œλŠ” 객체지ν–₯의 μž₯점인 μ‚¬μš©ν–ˆλ˜ μ½”λ“œλ₯Ό μž¬μ‚¬μš©ν•˜μ—¬


νš¨μœ¨μ„±μ„ κ·ΉλŒ€ν™” ν•˜μ˜€λ‹€λŠ” 점이고 OS, ν”Œλž«νΌμ— 독립적이며 


JVM(μžλ°”κ°€μƒλ¨Έμ‹ ) 기반으둜 μ‚¬μš©λ˜λ©° Garbage Collection의 μ‚¬μš©μœΌλ‘œ


동적 λ©”λͺ¨λ¦¬μ— 할당이 되며 μž„λ² λ””λ“œλ₯Ό ν¬ν•¨ν•˜μ—¬ μ›Ή, μ–΄ν”Œ, μ•ˆλ“œλ‘œμ΄λ“œ 


λ“±μ˜ λ‹€μ–‘ν•œ 개발이 κ°€λŠ₯ν•˜λ©° κ°€μž₯ 큰 μž₯점은 λ¬΄λ£Œμ΄λ‹€λΌλŠ” μ μž…λ‹ˆλ‹€.













KGμ•„μ΄ν‹°λ±…ν¬μ—μ„œλŠ” μžλ°” κΈ°μ΄ˆλΆ€ν„° μžλ°”μ˜ μ‘μš© μ‹€λ¬΄κΉŒμ§€


1:1 상담을 톡해 ν•™μŠ΅μžμ’…ν•©κ΄€λ¦¬μ‹œμŠ€ν…œμœΌλ‘œ 관리해 λ“œλ¦¬κ³  μžˆμŠ΅λ‹ˆλ‹€.


μ „λ¬Έ κ°•μ‚¬λ“€μ˜ κ³ ν’ˆκ²© κ°•μ˜μ™€ κ΅­μ œμ‹œν—˜μ„Όν„°κΉŒμ§€ κ°–μΆ˜ KGμ•„μ΄ν‹°λ±…ν¬μ—μ„œ


μžλ°” 곡뢀λ₯Ό μ‹œμž‘ν•΄ λ³΄μ„Έμš”. 뢀담없이 문의 μ£Όμ‹œλ©΄ 친절히 


상담해 λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.





 

ITμ •λ³΄μΉ΄νŽ˜μž…λ‹ˆλ‹€. Cμ–Έμ–΄ JAVA μ •λ³΄λ³΄μ•ˆ,ꡭ비지원 SWνŠΉκΈ°μžμ „ν˜• ,νŠΉμ„±ν™”κ³  λ“±λ“± ITκ΄€λ ¨ 자료 λ°›μ•„κ°€μ„Έμš”~

 

 

 

 

 

 

λ°˜μ‘ν˜•