[์ถ์ฒ : ์ ํ ํฌ ์๋ฐ]
์๋ฐ(JAVA)
์๋ฐ์ฝ๋ฆฌ์
๋ผ๊ณ ํ ์ ๋๋ก ์ฐ๋ฆฌ๋๋ผ์์ ์ฐจ์งํ๋ ๋น์ค์ด ์๋นํ๋ค.
- ์ฐ๋ฆฌ๋๋ผ ๊ธฐ์
์์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ 80% ์ด์์ ์๋ฐ๋ก ๋ง๋ค์ด์ก๋ค.
- ์ฐ๋ฆฌ๋๋ผ์์์ ๊ตณ๊ฑดํ ์ง์ผ์จ ์ํ๊ณ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์งํ๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์กด์ฌํ๋ค.
- ์ฐ๋ฆฌ๋๋ผ์ ๊ธฐ์
์์ ๊ฐ๋ฐ์๋ก ์ผํ๊ณ ์ถ๋ค๋ฉด, ์๋ฐ๋ฅผ ๊ถ์ฅํ๋ค.
ํน์ง
๋์๊ฒ ์๋ฐ๋..
ํ(fun)ํ๊ณ ์ฟจ(cool)ํ๊ณ ์น์(sexy)ํ ์ธ์ด..
๋ค์ ํน์ง..
๊ฐ๋จํ๋ค(Simple)
C++ ์ ๊ฐ๊น์ง๋ง ๊ฐ๋จํ๋ค. ๊ณ ๊ธ ์ธ์ด๋ค์ ๋ค์ด์๋ ์ฌ๋ฌ ๊ฐ์ง ์์๋ค ์ค์์ ๋ฐ๋์ ํ์ํ์ง ์๋ค๊ณ ์๊ฐ๋ ๋ถ๋ถ๋ค์ ์ ๊ฑฐํ๋ค.
๊ฐ์ฒด ์งํฅ์ ์ด๋ค(Object-orirented)
์๋ฐ๋ ์ซ์(int, float, long)๋ ๋
ผ๋ฆฌ๊ฐ(true, false)์ ์ ์ธํ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ์ค์ ๋ก ์๋ฐ๋ object ํด๋์ค์์ ๋ชจ๋ ํด๋์ค๋ฅผ ํ์ํ๋ค.
์ธํฐํ๋ฆฌํฐ ์ธ์ด์ด๋ค(interpreted)
์ ํํ๊ฒ๋ ์ปดํ์ผ ์ธ์ด์ธ ๋์์ ์ธํฐํ๋ฆฌํฐ ์ธ์ด์ด๋ค. ์๋ฐ๋ ์ปดํ์ผ ์ธ์ด์ ๊ฐ๊น์ด ์๋์ ์์คํ
๋
๋ฆฝ์ฑ์ ๋์์ ๊ฐ์ง๊ณ ์๋ค.
๊ฐ๋ ฅํ๋ค(robust)
์๋ฐ๋ ํฌ์ธํฐ ์ฐ์ฐ์ ์ง์ํ์ง ์๋๋ค. ์ด๋ ์๋ชป๋ ์ฃผ์๋ฅผ ๊ฐ๋ฅดํฌ ๊ฐ๋ฅ์ฑ์ ์ฌ์ ์ ์์ค ๊ฒ์ด๋ค. ์๋ฐ๋ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์๋ฐ ์์คํ
์ด ๊ด๋ฆฌํ๊ณ ์ ํํ๋ฉฐ ๋ํ ์์ธ ํธ๋ค๋ง์ ํ์ฌ ์์คํ
๋ถ๊ดด์ ์ฐ๋ ค๊ฐ ์๋ค.
์์ ํ๋ค(Secured)
์๋ฐ๋ ํฌ์ธํฐ ๊ฐ๋
์ด ์๊ณ ์ ํ ์ ์๊ฐ ๊ฐ๊ณ ํ์ฌ ์คํ ์ ์ ํด๋์ค ํ์ผ์ ์ด์ฉํ ํ๋ก๊ทธ๋จ์ ๊ฒ์ฌ๊ฐ ๊ฐ๋ฅํ๋ค.
์๋ฐ๋ ํ๋ก๊ทธ๋จ ์์ฑ ์ ์๋ฃํ ํ์
์ ๊ต์ฅํ ๋ฏผ๊ฐํ๋ค. ์ฝ๋ฉํ๋ ๋ด๋ด ์๋ชป๋ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๊ฒ๋ ๋์์ฃผ๋ ์ญํ ์ ํ๋ค. ๋๋ฌธ์ ์ปดํ์ผ๋ง ๋๋ฉด ์คํ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ค๋ฅธ ์ธ์ด์ ๋นํด ํ์ ํ ๋ฎ๋ค.
ํ๋ซํผ ๋
๋ฆฝ์ ์ด๋ค(platform independent)
์๋ฐ๊ฐ ์ค์น๋ ์์คํ
์์๋ ์ด๋์๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋ค.
๋ฉํฐ ์ฐ๋ ๋ฉ์ ์ง์ํ๋ค(Multithreaded)
ํ๋์ ํ๋ก๊ทธ๋จ ๋จ์๊ฐ ๋์ผํ ์ฐ๋ ๋๋ฅผ ๋์์ ์ํํ ์ ์๋ค. ํนํ ์๋ฐ๋ ๋ฉํฐ ํ๋ก์ธ์ ํ๋์จ์ด๋ฅผ ์ง์ํ๋๋ก ์ค๊ณ๋์์ผ๋ฏ๋ก ๋ฉํฐ CPU ์์คํ
์์ ๋์ ํจ์จ์ ๋ผ ์ ์๋ค.
๋์ ์ด๋ค(Dynamic)
์๋ฐ ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ๋ฉด ํ๋์ ๋ชจ๋์ ๊ฐฑ์ ํ ๋ ๋ค๋ฅธ ๋ชจ๋์ ๋ชจ๋ ๊ฐฑ์ ํ ํ์๊ฐ ์๋ค.
์๋ฐ๋ฅผ ๊ฐ๋ฐํ ์ ๋ง์ดํฌ๋ก์์คํ
์ฆ๋ ์๋ฐ๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํ๋ค.
Java: A simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language
๊ตฌ๊ธ ๋ฒ์ญ
Java: ๋จ์ํ๊ณ , ๊ฐ์ฒด ์งํฅ์ ์ด๊ณ , ๋ถ์ฐ๋๊ณ , ํด์๋๊ณ , ๊ฐ๋ ฅํ๊ณ , ์์ ํ, ์ํคํ
์ฒ ์ค๋ฆฝ์ , ์ด์ ๊ฐ๋ฅํ,
๊ณ ์ฑ๋ฅ, ๋ค์ค ์ค๋ ๋ ๋ฐ ๋์ ์ธ์ด