"ํ๋ฒํ" ์ธ๊ฐ ์ธ์ด๋ก ๋ชจ๋ ๊ฒ์ด ์ถฉ๋ถํ ๋ช
ํํฉ๋๋ค. ์ค๋๋ ์ ์ธ๊ณ์์๋ ๋ชจ๊ตญ์ด์ ์์ด์ ๋ํ ์ข์ ์ง์์ด ํ์ํฉ๋๋ค. ๋ค๋ฅธ ์ธ์ด๋ฅผ ์์์ผ ํ ํ์์ฑ์ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ ์ธ๊ณ์๋ "ํ๋ก๊ทธ๋๋ฐ์ ์ํ ์์ด"๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ ๋ณดํธ์ ์ธ ์ธ์ด๊ฐ ์์ต๋๋ค. ์ด ํ์ดํ์ ๋๊ณ ๊ฒฝ์ํ๋ ์ธ๊ธฐ ์ธ์ด๊ฐ ์ต์ 6๊ฐ ์ด์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ Java๊ฐ ๊ฐ์ฅ ๊ฐ๊น๋ค๊ณ ๋ฏฟ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ๊ทธ ์ด์ ๊ฐ ์์ต๋๋ค.
Java์๋ ํ์ ํ๋ก๊ทธ๋๋จธ์ ์ค๋ฌด ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ ์ฉํ ๊ฒ์ด ๋ฌด์์
๋๊น?
์์ฃผ ๊ฐ๋จํ ์ธ์ด์
๋๋ค
"๊ฐ๋จํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด"๋ ๋ฌด์์ ์๋ฏธํฉ๋๊น? ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ์ง๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฒซ์งธ, ํ๋ก๊ทธ๋๋ฐ์ ๋ํด ์ ํ ๋ชจ๋ฅด๋ ์ฌ๋๋ค์ด ๋ฐฐ์ฐ๊ธฐ ์ฝ์ต๋๋ค. ๋์งธ, ๋ค์ํ ๊ณผ์ ํด๊ฒฐ์ ํจ๊ณผ์ ์ด๋ค. ์ด๋ฏธ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋ ค๊ณ ์๋ํ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ์ด๊ฒ์ ๋์ด ํ๊ฐํ ๊ฒ์
๋๋ค. ๋ ์์ฑ ๋ชจ๋ Java์ ์์ ํ ์ ์ฉํ ์ ์์ต๋๋ค. Java๋ฅผ ๋ฐฐ์ฐ๋ ๊ฒ์ ์ ๋ง ์ฝ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์๋์ ์ผ๋ก ๋์ ์์ค์ด๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฆ, ํ์ ์์ค ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋์ฒ๋ผ ์ก์ด์ ๊น์ด ๋ฐ์ด๋ค ํ์๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Java์์๋ C++์์์ ๋ฌ๋ฆฌ ๊ฐ๋น์ง ์์ง(์: "๋ฉ๋ชจ๋ฆฌ์์ ๊ณต๊ฐ์ ์ฐจ์งํ๋ ์ฌ์ฉํ์ง ์๋ ๊ฐ์ฒด ์ ๊ฑฐ")์ด ์ฌ์ฉ์ ๊ฐ์
์์ด ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋์์ Java๋ ๋๋ถ๋ถ์ ์์
์ ์ฒ๋ฆฌํ๊ธฐ์ ์ถฉ๋ถํ ๋ฎ์ ์์ค์
๋๋ค. ํ ๊ฐ์ง ์ค์ํ ์ ์ ๋ช
ํํํฉ์๋ค. ์ฒ์์๋ Java๋ณด๋ค ๋ ์ฝ๊ฒ ์ ๊ณต๋๋ ์ธ์ด๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Python โ ๊ฐ๊ฒฐํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ๊ตฌ๋ฌธ ๋๋ถ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ํน๋ณํ ๊ต์ก์ฉ์ผ๋ก ๋ง๋ค์ด์ง Pascal/Delphi๋ ์์ต๋๋ค. ์ค์ ๋ก ํ์ฌ ์ฃผ๋ก ํ๊ต์์ ์ฃผ๋ก ๊ด์ฑ์ผ๋ก ์ธํด ์ฐ๊ตฌ๋๊ณ ์์ต๋๋ค. ๋งค์ฐ ๋
ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ธ์ด์
๋๋ค. ๊ทธ๋ฌ๋ ์ํฉ์ ๋น ๋ฅด๊ฒ ๋ณํํ๊ณ ์์ต๋๋ค. ๋๋ถ๋ถ์ ์ค์ ์์
์ Delphi๋ ๋ฌผ๋ก Python๋ณด๋ค Java์์ ํด๊ฒฐํ๊ธฐ ์ฝ์ต๋๋ค.
๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ํ๋ ์์ํฌ
ํ๋ก๊ทธ๋๋จธ๊ฐ ์ด๋ ค์ด ์์
์ ์ง๋ฉดํ ๊ฒฝ์ฐ ์ด๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋๋ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ด๋ฏธ ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ฒ์ผ๋ฅด์ง ์๋ ๊ฒ์
๋๋ค. ์ค๋ช
์๋ฅผ ์ฝ๊ฑฐ๋
Stack Overflow ์ ๊ฐ์ ์ธ๊ธฐ ์๋ ํฌ๋ผ์์ ์ง๋ฌธํ์ญ์์ค . ์์ง ๊ณต๋ถ ์ค์ด๋ผ๋ฉด CodeGym์ "
๋์๋ง " ์น์
์ ์ง๋ฌธ์ ํ์ธ์. ์๋ฅผ ๋ค์ด, ํ์๋ค์ ์๋ ๋ฐฉ์์ ์ดํดํ๊ธฐ ์ํด ์์ ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ ๋ฒ ๊ตฌํํจ์ผ๋ก์จ ๋ง์ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๊ฐ๋ฐ ์์
์์๋ ์ด๋ฅผ ์ธ์ธ ํ์๊ฐ ์์ต๋๋ค. Java์ ์ด๋ฏธ ์๋ ๊ด๋ จ ๋๊ตฌ(ํนํ )๋ง ์๋ฉด ๋ฉ๋๋ค
Collections.sort()
. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋จ์ง ์์ผ๋ฟ์
๋๋ค. Java๋ ์ค๋ซ๋์ ์ฌ๊ฐํ ์์
์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉ๋์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฒ์ ๋ํ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค(์,
๊ฑฐ๋ํ ์ปค๋ฎค๋ํฐ์ ๊ณ ํ์ง ๋ฌธ์
Stack Overflow์ ๊ณต๊ฐ ๊ทธ๋ฃน์์ 3๋ฒํผ ํค๋ณด๋ ์ ๋ํ ๋๋ด์ ์ด๋ฏธ ๋ณด์
จ์ต๋๊น ? ๋๋ด์ ์ฌ์ค๊ณผ ๋ค๋ฆ
๋๋ค. ํ๋ก๊ทธ๋๋จธ๋ ์์
์ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๊ฐ๋ฐ์ ํฌ๋ผ์ ์ด๋ณด์๋ง ์ง๋ฌธํ๋ ๊ฒ์ด ์๋๋๋ค. ๊ทธ๋ฌ๋ Stack Overflow์ ๋ํ ์ง๋ฌธ์ ๋ต๋ณํ๋ ๋ฐ ๋์์ ์ฃผ๋ Java ์ ๋ฌธ๊ฐ๊ฐ ๋ง์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ทํ์ ์ง๋ฌธ์ ๋์์ด ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๊ฒ๋ค๊ฐ, ์ดํดํ์ง ๋ชปํ๋ ๊ฒ์ด ์๋ค๋ฉด ์ค๋ช
์์ ์๋ ํ๋ ๋๋ ๋ค๋ฅธ ๊ธฐ์ฌ์ ๋์์ ๋ฐ์ ์ดํดํ ์ ์์ ๊ฒ์
๋๋ค. Java์๋ ๋งค์ฐ ํ๋ฅญํ ์ค๋ช
์๊ฐ ์์ต๋๋ค.
๊ธฐ์ ๋ฐ ๊ตฌ์กฐ์ ๊ด์ ์์ Java๊ฐ ์ข์ ์ ์ ๋ฌด์์
๋๊น?
๋ฉํฐํ๋ซํผ
"Write Once, Run Anywhere"๋ Java์ ๊ดํ ๊ฒ์
๋๋ค. ๋ค๋ฅธ ์ด์ ์ฒด์ ๋ฅผ ์คํํ๋ ์ปดํจํฐ์์ ์๋ํ๋๋ก Java ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค์ ์์ฑํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ์ด์ ์ฒด์ ์ฉ ๊ฐ์ ๋จธ์ ์ ์ค์นํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๋ฌผ๋ก ๊ทธ๋ ๊ฒ ์ฌ์ด ์ผ์ ์๋๋๋ค. ๋ถ๋ช
ํ ๊ตฌ์ ํด๋ ์ ํ์์ "๋ฌด๊ฑฐ์ด" ์ํฐํ๋ผ์ด์ฆ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ํ ์ ์์ต๋๋ค. ์ฆ, ๋ํ์ ์ด์ ์ ์ ํ๊ธฐ์๋ ์๋ฐ ๊ฐ์ ๋จธ์ ์ด ์์ ๊ฒ์
๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๋ฐ์ ํฌ๊ฒ ๋จ์ํํฉ๋๋ค.
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)
Java๋ ๊ฐ์ฒด ์งํฅ ์ธ์ด์ด๋ฉฐ "๊ฐ์ฒด ์งํฅ"์ ์ต์์ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Java์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด์
๋๋ค. ์์, ์ถ์ํ, ์บก์ํ ๋ฐ ๋คํ์ฑ์ ๋ํด ์ต๋ํ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค.
๋ฉํฐ์ค๋ ๋ฉ์ ํ์ํ ๊ตฌํ
๋ค์ค ์ค๋ ๋ฉ์ ์ฐจ๋จ ์์
๋ฐ ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ก ์์
ํ ๋ ๋ฐ๋์ ํ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ณด๋ฅผ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ ์ ์๋ค๋ฉด ๊ทธ๋ ๊ฒ ํ์ง ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? Java๋ ๊ฐ๋จํ ๋๊ธฐํ ๋ฐ ์ค๋ ๋๋ฅผ ์ค์ง/์ฌ๊ฐํ๋ ๋ฉ์๋์์ ํน์ ํด๋์ค์ ์ด๋ฅด๊ธฐ๊น์ง ์์ฒญ๋ ๋ฉํฐ์ค๋ ๋ฉ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ค์ ๋ก ๋ฉํฐ์ค๋ ๋ฉ์ ํนํ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ์๊ฒ ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ๊ทธ๋ฌ๋ Java์๋ ๋ฉํฐ์ค๋ ๋ฉ์ ์ต๋ํ ํธ๋ฆฌํ๊ฒ ๋ง๋๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ด ์์ต๋๋ค.
Java๋ ์ง์์ ์ผ๋ก ๋ฐ์ ํ๊ณ ์์ง๋ง ์ด์ ๋ฒ์ ๊ณผ ์ญํธํ๋ฉ๋๋ค.
Java 9์ ๋ง๋๋ ๋ฐ ๋ช ๋
์ด ๊ฑธ๋ ธ๋ค๋ฉด ๋ฒ์ 10๊ณผ 11๋ ๊ทธ๋ฆฌ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์์ต๋๋ค. Java๋ ํ์ฌ 6๊ฐ์์ ํ ๋ฒ์ฉ ๋ฒ์ ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ฉฐ ์ข
์ข
์๋กญ๊ณ ํฅ๋ฏธ๋กญ๊ณ ์ ์ฉํ ๊ธฐ๋ฅ์ ์ป์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ฅ ์ข์ ์ ์ Java๊ฐ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ ์งํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๊ฐ ์ ๋ฒ์ ์ด ์ถ์๋ ๋๋ง๋ค ๋ชจ๋ ๊ฒ์ ์ฌ์์
ํ ํ์๊ฐ ์๋ค๋ ๊ฒ์
๋๋ค. ์ด์ ๋ฒ์ ์ ๋ชจ๋ ๋ค์ ๋ฒ์ ๊ณผ ํธํ๋ฉ๋๋ค. ๋ฌผ๋ก ๋์์ค๊ฐ ์์ง๋ง ๋ค๋ฅธ ๋ง์ ์ธ์ด์ ๋นํด ์ค์ํ์ง ์์ต๋๋ค.
๋ด ๊ฒฝ๋ ฅ ์ธก๋ฉด์์ Java์ ์ฅ์ ์ ๋ฌด์์
๋๊น?
์๋ฐ๋ ์ด๋์๋ ์์ต๋๋ค. Java ๊ฐ๋ฐ์๋ ์ํ๋ ์์น๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์ ์์ผ๋ฉฐ ์ฌ๊ต์ก ์์ด ๋ค๋ฅธ ์์น๋ก ์ด๋ํ ์ ์์ต๋๋ค. ์ด ์ธ์ด๋ ๊ธ์ต ์๋น์ค, ์น ์ ํ๋ฆฌ์ผ์ด์
, ์๋ฒ ๋๋ ์์คํ
๋ฐ ๋น
๋ฐ์ดํฐ์ฉ ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค๊ณ Android ํ๋ก๊ทธ๋จ ๋ฐ ๊ณผํ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ณ์ํด์ ๊ฐ ์ ์์ต๋๋ค. ์๋ฐ๋ ์ด๋์๋ ์์ต๋๋ค. Java ํ๋ก๊ทธ๋๋จธ๋ ์ ์ธ๊ณ ๊ฑฐ์ ๋ชจ๋ ๊ตญ๊ฐ์์ ์ผ์๋ฆฌ๋ฅผ ์ฐพ์ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ์ธ์ด์ ์ ํ๋ ๊ฐ๋ฐ์๋ณด๋ค ํจ์ฌ ์ฝ๊ฒ ์์
์ ์ํํ ์ ์์ต๋๋ค. Java๋ ์ฌ์ ํ ์ธ๊ณ์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ธ์ด ์ค ํ๋์
๋๋ค.
TIOBE ์์๋ฅผ ์ดํด๋ณด์ธ์.
์ฐ์ํ ๊ธ์ฌ. ๋ง์ง๋ง์ผ๋ก, ์ฌ๋๋ค์ Java์ ๋ํ ์ข์ ์ง์์ ๋ํด ๋ง์ ๋์ ์ง๋ถํฉ๋๋ค.
๊ฒฐ๋ก
์์ ์ ์๋ ๋ชจ๋ ์ด์ ๋ ์ฐ๋ฆฌ๊ฐ CodeGym ์ฝ์ค๋ฅผ ๋ง๋ค๋๋ก ์๊ฐ์ ์ฃผ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ง์ ์ผ๋ก Java ์ธ์ด๋ฅผ ์ฌ๋ํ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก Java์ ์ง์คํ์ต๋๋ค. ์ธ๊ธฐ ์๊ณ ์ ๋งํ ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ ฅํ ํ๋ก๊ทธ๋๋ฐ ์ฌ๊ณ ๋ฐฉ์์ ๊ตฌ์ถํ๋ ํ์ํ ์ ๋ฌธ ๋๊ตฌ์ด๊ธฐ๋ ํฉ๋๋ค. ์ค์ํ ๊ฒ์ ๋ฐฐํํ๋ ๊ฒ์
๋๋ค. ๊ฐ๋ฅํ ํ ๋ง์ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
GO TO FULL VERSION