Java๋?
๐งJava๋?
์๋ฐ๋ 1996๋ 1์์ ์ธ์์ ๋์จ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object Oriented Programming, OOP) ์ธ์ด์ ๋๋ค.
์ด์์ฒด์ ์ ๋
๋ฆฝ์ ์ผ๋ก ์คํ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, Write Once, Run Anywhere์ด๋ผ๋ ์ฌ๋ก๊ฑด์ ๋ด์ธ์
๋ค์ํ ์ด์์ฒด์ ๊ฐ ๊ณต์กดํ๋ ์น ํ๊ฒฝ์ ์ ํฉํ ์ธ์ด๋ก์, ํ์ฌ๊น์ง๋ ์ ์ธ๊ณ์์ ๋ง์ด ์ฐ์ด๋ ์ธ๊ธฐ ์๋ ์ธ์ด์
๐Java์ ํน์ง
1. ์ด์์ฒด์ ์ ๋ ๋ฆฝ์
ํน์ ์ด์ ์ฒด์ ๋ ํ๋์จ์ด์ ์ข ์๋์ง ์์ต๋๋ค. ์ด๋ก์จ ๋์ผํ Java ํ๋ก๊ทธ๋จ์ ๋ค์ํ ํ๋ซํผ์์ ์คํ ๊ฐ๋ฅ
JRE(Java Runtime Environment: JVM(์๋ฐ ๊ฐ์๋จธ์ ) + ํ์ค ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๊ฐ ์ค์น๋์ด ์๋
๋ชจ๋ ์ด์์ฒด์ ์์ ์คํ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
2. ๊ฐ์ฒด ์งํฅ ์ธ์ด(Object Oriented Programming, OOP)
์๋ฐ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ์ ์ฌ์ฉํ๋ ์ธ์ด์ ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ฒด๋ก ๋ง๋ค์ด ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ์ค๊ณ๋ ํ๋ก๊ทธ๋จ์ ์ ์ง๋ณด์๊ฐ ์ฝ๊ณ ํ์ฅ์ฑ์ด ๋์ต๋๋ค
3. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ง์
์๋ฐ 8๋ฒ์ ๋ถํฐ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํ๋ ๋ฌธ๋ฒ์ธ ๋๋ค์๊ณผ ์คํธ๋ฆผ์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ปฌ๋ ์ ์ ์์๋ฅผ ํํฐ๋ง, ๋งคํ, ์ง๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ฌ์์ง๊ณ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ง๋ ์ฅ์ ์ด ์์ต๋๋ค.
4. ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ(Garbage Collection)
์๋ฐ๋ ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๋ฅผ ์คํ์์ผ ์๋์ผ๋ก ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๊ฑฐํฉ๋๋ค.
๊ฐ๋ฐ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ์๊ณ ๋ฅผ ๋๊ณ ํต์ฌ ์ฝ๋์ ์ง์คํ ์ ์๊ฒ ๋์์ต๋๋ค.
5. ๋ค์ค ์ค๋ ๋ฉ ์ง์
Java๋ ๋ค์ค ์ค๋ ๋๋ฅผ ์ง์ํ๋ฏ๋ก ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐ ๋์์ฑ ์์ ์ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
6. ํ๋ถํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Java์๋ ๋ค์ํ ๊ธฐ๋ณธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ API๊ฐ ํฌํจ๋์ด ์์ด, ๋ค์ํ ์์ ์ ์ํํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
7. ๋ณด์
Java๋ ๋ณด์์ ๊ฐํํ ์ค๊ณ๋ก ์๋ ค์ ธ ์์ผ๋ฉฐ, ์ ์์ ์ธ ์ฝ๋ ์คํ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์ฌ๋ฌ ๊ฐ์ง ๋ณด์ ๊ธฐ๋ฅ์ ์ ๊ณต
8. ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ธ์ด
Java๋ ๋๋ถ๋ถ์ ์ํฐํ๋ผ์ด์ฆ ์ํํธ์จ์ด, ์น ์์ฉ ํ๋ก๊ทธ๋จ, ๋ชจ๋ฐ์ผ ์ฑ ๋ฑ์ ๊ฐ๋ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, Android ํ๋ซํผ์์๋ ์ฃผ์ ์ธ์ด๋ก ์ฌ์ฉ๋ฉ๋๋ค.