๐ ๊ฐ๋ฐ์ ๋ํ ๊ณต๋ถ๋ฅผ ํด๋ดค๋ค๋ฉด ์ต์ ํ ๋ฒ์ฏค(์ฌ์ค์ ์ฌ์ฉํด ๋ณธ ์ ์๋ ์ฌ๋๋ ์ ์์ด) ๋ค์ด๋ดค์ ๊ทธ ์ด๋ฆ JAVA.
์๋ฐ๋ ํ์ฌ ์ ์ธ๊ณ์์ ๊ฐ์ฅ ์ ํธํ๋ ๊ฐ๋ฐ ์ธ์ด TOP3 ์์ ๋ ๋ค. (์๋ ์ฌ์ง ์ฐธ๊ณ )
ํนํ ๊ตญ๋ด ์์ฅ์์ ๋ง์ด ์ฌ์ฉํ๋ ์ธ์ด ์ค ํ๋๋ค.
์๋ฐ์ ๋ํ ๊ฐ๋จํ ์ค๋ช ๊ณผ ์๋ฃํ ๋ฐ ๊ธฐ๋ณธ ์ฐ์ฐ์์ ๋ํด ์ ๋ฆฌํ๋ค.
โ Java๋?
์ฒ์๋ถํฐ ๊ฐ์ฒด ์งํฅ ์ธ์ด๋ก ๊ณํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค.
์๋ฐ ๊ฐ์ ๋จธ์ ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ CPU๋ ์ด์์ฒด์ (OS)์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ์ฌ์ฉํ ์ ์๋ค.
- ๊ฐ์ฒด ์งํฅ ์ธ์ด
- OOP(Object Oriented Programming)์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
- ์ฝ๊ฒ ์ค๋ช ํ๋ฉด ๋ ๊ณ ์กฐ๊ฐ์ ๋จผ์ ๋ง๋ ํ์, ์กฐ๋ฆฝํด์ ์๋์ฐจ ๋ชจํ์ ๋ง๋๋ ๊ฒ์ด๋ค.
- ์ ํํ๊ฒ ์ค๋ช ํ๋ฉด ๊ฐ์ฒด๋ฅผ ๋จผ์ ๋ง๋ค๊ณ , ๊ทธ ๊ฐ์ฒด๋ค์ ํ๋์ฉ ์ฐ๊ฒฐํด์ ์ ์ฒด ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ฒ์ด๋ค.
- ํน์ง์๋ ์บก์ํ, ์์์ฑ, ๋คํ์ฑ์ด ์๋ค.
- ์๋ฐ ๊ฐ์ ๋จธ์
- JVM(Java Virtual Machine)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ์ฝ๊ฒ ์ค๋ช
ํ๋ฉด ํ๋ก๊ทธ๋จ๊ณผ OS ์ฌ์ด์ ์๋ ๋ฒ์ญ๊ธฐ๋ค.
- ์ฝ๋๋ฅผ ์์ฑํ๋ ํ๋ก๊ทธ๋จ๊ณผ ํด๋น ํ๋ก๊ทธ๋จ์ด ๋์ํ๋ OS๋ฅผ ํ๋จํด์
ํ์ฌ ์ฌ์ฉ ์ค์ธ OS์ ๋ง๊ฒ ๋ฒ์ญํด ์ค๋ค. - ์ฝ๋๋ก ์์ฑ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ํด์ํ ๋
OS๊ฐ ์ดํดํ ์ ์๋ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ๋๋ ๊ณผ์ ์ธ ์ปดํ์ผ๋ง์ ๊ฑฐ์น๋๋ฐ,
C์ธ์ด์ ๊ฒฝ์ฐ์๋ Window์์ ์์ฑํ ์ฝ๋๋ฅผ Linux์์ ์ฌ์ฉํ ์ ์๋ ๋ฐ๋ฉด์
์๋ฐ๋ ์๋์ผ๋ก ๋ฒ์ญํด ์ฃผ๊ธฐ ๋๋ฌธ์
์ด๋ค OS์์ ์์ฑํ๋์ง ์๊ด์์ด ์ด๋ค OS์์๋ ์คํ ๊ฐ๋ฅํ๋ค.
- ์ฝ๋๋ฅผ ์์ฑํ๋ ํ๋ก๊ทธ๋จ๊ณผ ํด๋น ํ๋ก๊ทธ๋จ์ด ๋์ํ๋ OS๋ฅผ ํ๋จํด์
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ GC(Garbage Collection)๋ฅผ ์ํํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ฐ๊ฐ ์ง์ ๊ด๋ฆฌํ๋ค. (C์ธ์ด๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ์ฌ์ฉ์๊ฐ ์ง์ ์์ฑํด์ผ ํ๋ค)
- ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ ,
์ฌ์ฉ ํ์๋ Garbage Collector๋ฅผ ์คํ์์ผ์ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๋ค.
โ Java์ ์ฅ๋จ์
๐ ์ฅ์
- ์ด์์ฒด์ ์๋ ๋ ๋ฆฝ์ ์ผ๋ก ์คํํ ์ ์๋ค. (๊ฐ์ฒด ์งํฅ ์ธ์ด๊ธฐ ๋๋ฌธ)
- ๋ถํ์ํ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ธ์ด(C์ธ์ด)์ ๋นํด ๋ฐฐ์ฐ๊ธฐ ์ฝ๋ค.
- ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฑ์ ์ง์ํ๋ฏ๋ก ๋ค๋ฅธ ์ธ์ด์ ๋นํด ์์ ์ฑ์ด ๋๋ค. (JVM์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ)
- OS์ ์๊ด์์ด ๋ฉํฐ ์ค๋ ๋ ๊ตฌํ์ด ์ฝ๋ค. (์ค๋ ๋ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ API๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ)
- ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ์ ๊ธ์งํ๊ณ ์ ๋ค๋ฆญ์ ๋์ ํจ์ผ๋ก์จ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์คํ์์ค๊ฐ ๋ง๊ณ , ๊ฒ์ฆ๋ ๊ฒ๋ค๋ ๋ง์์ ์ ์ง๋ณด์๊ฐ ์ฝ๋ค.
- ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ๊ณ ์์ด์ ์ฐธ๊ณ ํ ๋ ํผ๋ฐ์ค๊ฐ ๋ง๋ค.
๐ ๋จ์
- JVM์ผ๋ก ์คํํด์ผ ํ๋ฏ๋ก ๋ค๋ฅธ ์ธ์ด์ ๋นํด ์คํ ์๋๊ฐ ๋๋ฆฌ๋ค.
- ์์ธ ์ฒ๋ฆฌ๊ฐ ์ ๋์ด ์์ง๋ง, ์ฌ์ฉ์๊ฐ ์ผ์ผ์ด ์ฒ๋ฆฌ๋ฅผ ์ง์ ํด์ผ ํ๋ค.
- ๋ค๋ฅธ ์ธ์ด์ ๋นํด ์์ฑํด์ผ ํ๋ ์ฝ๋์ ๊ธธ์ด๊ฐ ๊ธธ๋ค.
๋ฐ์ํ
'Develop > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] Java์ ๋ณ์ ๋ฐ ์์, ๊ธฐ๋ณธ ์๋ฃํ (0) | 2022.02.21 |
---|
๋๊ธ