์ด์ ๋ง Java๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์์ํ๊ฑฐ๋ ๊ณผ์ ์ ๋ง์น๋ ค๋ ๊ฒฝ์ฐ "๊ทธ๋ฆฐ" Java ์ ๋ฌธ๊ฐ๋ก์์ ์ ๋ง, ์๋ฌด ๋ฐ ๊ธฐ์ ์ ์๊ฒ ๋ ๊ฒ์
๋๋ค.
Java ๊ฐ๋ฐ์๋ก์์ ๊ฒฝ๋ ฅ์ ๋ค์ํ ๋ถ์ผ์์ ํ๋ฅญํ ์ทจ์
์ ๋ง์ ์ป์ ์ ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ๋ณด๋ ์๋ ์ผ์ด๋ผ๋ ์ ์ ๋ถ์ธํ ์ ์์ต๋๋ค. ์ ์ฒด ์ํํธ์จ์ด ๊ฐ๋ฐ ์ฃผ๊ธฐ ๋์ ์ค๊ณ ๋ฐ ํ
์คํธ๋ฅผ ๋ด๋นํ ์๋ ์์ต๋๋ค. ๋ฐฑ์๋ ๊ฐ๋ฐ์, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์, ๊ธฐ์ ์คํ, ํ ์คํ ๊ฐ๋ฐ์ ๋๋ Android ๊ฐ๋ฐ์๊ฐ ๋ ์ ์์ต๋๋ค. ์ต์
์ ์ ๋ง ๋ค์ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ Java๋ฅผ ๋ฐฐ์ด ํ์ ๋ฌด์์ ํ ์ ์๋์?
๊ธฐ์ฌ๋ ์์ต๋๋ค.
๊ฐ์ฅ ์นํ๊ฒฝ์ ์ธ ์ด๋ณด์ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ฅผ ์ํ ๊ฐ์ด๋๋
Java Junior๋ก์์ ๊ฒฝ๋ ฅ์ โโ๋ํด ์์ธํ ์์๋ณด๊ณ ์ด ์ง์
์ ์ถ๊ตฌํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ "
Java๋ฅผ ๋ฐฐ์ด๋ค "๋ ๊ฒ์ ๋ฌด์์ ์๋ฏธํ๋๊ฐ?
์๋ฐ ๊ฐ๋ฐ์ ํคํธ
Java Junior์๊ฒ ํ์ํ ๋ช ๊ฐ์ง ํ์ ๊ธฐ์ ์ ๊ฐ์กฐํ๊ณ ํด๋น ๊ธฐ์ ์ด ์ํํ๋ ์์
์ ์ค๋ช
ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด Java ๊ฐ๋ฐ์์ ์ฃผ์ ์
๋ฌด๋ ๋ฌด์์ด๋ฉฐ, ๊ฐ์ฅ ๋จผ์ ๋ฌด์์ ๋ฐฐ์์ผ ํ ๊น์? ๊ธฐ๋ณธ์ ์ผ๋ก Java Junior์ ์ฃผ์ ์ฑ
์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
๊ฐ๋ฐ. ๋งํ ํ์๋ ์์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ Java ์ ๋ฌธ๊ฐ์ ์ฃผ์ ์๋ฌด ์ค ํ๋์
๋๋ค. ์ฆ, ๊ณ ๊ฐ์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ฑ์ด๋ ์น ์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ ์ ์์ด์ผ ํฉ๋๋ค.
-
ํ
์คํธ. ํ๋ก์ ํธ๊ฐ ์๋ฃ๋๋ฉด Java ์ ๋ฌธ๊ฐ๋ ์ด๋ฅผ ํ
์คํธํ๊ณ ํ๋ก์ธ์ค ์ค์ ๋ฐ์ํ ์ค๋ฅ๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. ์ฆ, ๊ฐ ๊ธฐ๋ฅ์ด ์ํํ๊ฒ ์๋ํ๋์ง ํ์ธํ ์ ์์ด์ผ ํฉ๋๋ค.
-
์์คํ
์ต์ ํ. ๋๋ถ๋ถ์ Java Junior๋ ํ์ฑ ์์คํ
์ ์ ์ง ๊ด๋ฆฌํ๊ณ ํฅ์์ํค๋ฉฐ ์ํํธ์จ์ด ์
๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ๋ ์ผ์ ๋ด๋นํด์ผ ํฉ๋๋ค.
-
๋ค๋ฅธ ๋ถ์์์ ํ๋ ฅ. ์๋ง๋ ๋น์ ์ ๋๊ท๋ชจ ํ์์ ์ผํ๊ณ ๋๋ฃ ๋ฐ ๊ณ ๊ฐ๊ณผ ํ๋ ฅํ์ฌ ํตํฉ ์ํํธ์จ์ด ์์คํ
์ ๋ง๋ค๊ฒ ๋ ๊ฒ์
๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ํ๋ฅญํ ์์ฌ์ํต ๋ฅ๋ ฅ(์๋ฉด ๋ฐ ๊ตฌ๋ ๋ชจ๋)์ด ํด๋น ์ง๋ฌด์ ์ง์ํ ๋ ๋ค๋ฅธ ํ๋ณด์๋ค๋ณด๋ค ์ฐ์์ ์ค ์ ์๋ ์ด์ ์
๋๋ค.
๋ฐฉ๊ธ ๋งํ ๋๋ก, Java ์ ๋ฌธ๊ฐ๊ฐ ๋๊ธฐ ์ํด์๋ ์ผ๋ จ์ ํ์ ๊ธฐ์ ์ด ํ์ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด
Java ๊ฐ๋ฐ์ ํคํธ์๋ ๋ฌด์์ด ํฌํจ๋์ด ์๋์? ๋ค์ ๊ธฐ์ฌ๋ ์ด ์ง๋ฌธ์ ๋ํ ํฌ๊ด์ ์ธ ๋ต๋ณ์ ์ป๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
์ฃผ๋์ด์์ ์๋์ด๋ก ์ฑ์ฅํ๋ ๋ฐฉ๋ฒ
์ฃผ๋์ด ํ๋ก๊ทธ๋๋ฐ ์ง์ ์์ ์์ํ ํ ์ฝ 4๋
๋์ ๊ทธ๊ณณ์ ๋จธ๋ฌผ๊ฒ ๋ ๊ฒ์์ ์ค๋นํ์ญ์์ค. ์ด๋ฏธ ์ธ๊ธํ๋ฏ์ด ์ฃผ์ ์
๋ฌด์๋ ์ฝ๋ฉ, ๋๋ฒ๊น
, ์ฝ๋ ๊ฒํ ๋ฐ ์ผ๋ถ ๊ธฐ์ ๋ฌธ์๊ฐ ํฌํจ๋ฉ๋๋ค.
์ด๋ฌํ ๋ชจ๋ ์๋ฌด์ ๊ธฐํ ์ฌํญ์ ์ฃผ๋์ด ๊ฐ๋ฐ์๊ฐ ๋๋ ๊ฒ์ด ์ด๋ค ๊ฒ์ธ์ง
๊ธฐ์ฌ์์ ํ์ธํ ์ ์์ต๋๋ค .
๊ฐ๋ตํ ์๋ด์
. ๋ํ ์ฝ๋ ์์ฑ ๊ทธ ์ด์์ ์ํํ ์ค๋น๋ ๋์ด ์์ด์ผ ํฉ๋๋ค. ์ด๋ณด Java ๊ฐ๋ฐ์๊ฐ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ๋ฌด์ํ๊ณ ์ฝ๋์๋ง ์ง์คํ๋ ๊ฒ์ ๋งค์ฐ ํํ ์ค์์
๋๋ค. ์ค์ ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ ํฐ ํ๋ก์ธ์ค์ ์ผ๋ถ์ผ ๋ฟ์ด๋ฉฐ ๋ค๋ฅธ ์ค์ํ ๋ถ๋ถ๋ ๋ง์ด ์์ต๋๋ค. ์์ผ๋ก ๋์๊ฐ๊ณ ์ถ๊ณ ์ค๋ซ๋์ ์ฃผ๋์ด ์๋ฆฌ์ ๋จธ๋ฌผ์ง ์์ผ๋ ค๋ฉด ๊ฑด์ถ๊ณผ ๋์์ธ์๋ ์ฐธ์ฌํด์ผ ํฉ๋๋ค. ์๊ฐ์ด ์ง๋๋ฉด ๊ธฐ์ ์๋ฃจ์
๋ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์กฐ์ ํด์ผ ํฉ๋๋ค.
์ ์ฐ์ฑ์ ์ ๋ฌธ ๊ฐ๋ฐ์์ ์ต๊ณ ์ ํน์ฑ ์ค ํ๋์
๋๋ค. ๋ํ ์ฒซ ์ง์ฅ์ ๊ตฌํ ํ์๋ ๊ด์ฐฐํ๊ณ ๋ฐฐ์ฐ๋๋ก ๋
ธ๋ ฅํ์ญ์์ค. ๊ฐ๋ฅํ ํ ๋ง์ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด ์ง๋ฌธํ๋ ๊ฒ์ ๋๋ ค์ํ์ง ๋ง์ญ์์ค. ํ์์ด ๋น์ ๊ณผ ๊ฐ์ ์ฃผ๋์ด ๊ฐ๋ฐ์์ธ์ง ๋ฉํ ๊ฐ ๋ ์ ์๋ ์๋์ด ๊ฐ๋ฐ์์ธ์ง์ ๊ด๊ณ์์ด ํ์๋ค์ด ์๋ก ์ด๋ป๊ฒ ์ํธ ์์ฉํ๋์ง ๊ด์ฐฐํ๋ ๊ฒ๋ ์ข์ ์๊ฐ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ํ๋ฒ
ํ์ต์ ๋ฉ์ถ์ง ๋ง์ญ์์ค . IDE์ ์ต์ํด์ง๊ณ , ์ ์ง ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๊ณ ๊น๋ํ ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ๋ฒ์ ์ ์ด ์ํํธ์จ์ด๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์์๋ณด์ธ์. ์ด๋ฌํ ํ์ ๋ฐ๋ฅด๋ฉด ์ค๊ฐ Java ์ ๋ฌธ๊ฐ๋ก ๋น ๋ฅด๊ฒ ์ฑ์ฅํ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ ํ. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์๋ฆฌ์์
์ค๊ฐ ์์ค ๊ฐ๋ฐ์๊ฐ ๋๋ ๊ฒ์ด ์ด๋ค ๊ฒ์ธ์ง์ ๊ด์ฌ์ ๊ฐ์ง ์๋ ์์ต๋๋ค. ์ญํ ์ ๋ํ ๊ฐ๋ตํ ๊ฐ์ด๋
. ๊ฐ๋จํ ๋งํด์, ์ฝ๋์ ๊ดํ ์ ๋ถ๋ ์๋๋๋ค. ๋ฌผ๋ก ์ค๊ฐ ๊ฐ๋ฐ์๋ก์ ํ์ค ์์
์ ์ํํ๊ณ , ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ณ , ์ฝ๋๋ฒ ์ด์ค์ ๊ธฐ์ฌํ๋ ๋ฐ์๋ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ํํธ์จ์ด ์์ง๋์ด๋ง ๋ถ์ผ์์ ๋ช ๋
์ด ์ง๋๋ฉด ๋ชจ๋ ์์
ํ๋ฆ๊ณผ ํ๋ก์ธ์ค๋ ์ดํดํ ์ ์๊ฒ ๋ ๊ฒ์
๋๋ค.
๋ํ ์ผ๋ฐ์ ์ธ ๋์์ธ ํจํด๊ณผ KISS (Keep It Stupid Simple),
DRY (Don't Repeat Yourself) ๋ฐ
SOLID ์์น์ ์ดํดํ๊ฒ ๋ ๊ฒ์
๋๋ค . ์ด ๋จ๊ณ์์๋ ๊ธฐ์ ๊ณผ ๊ฒฝํ์ ํฅ์์ํค๊ธฐ ์ํด ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ํ๋ ์์ํฌ๋ฅผ ์ํํด ๋ณด๋ ๋ฐ ๊ด์ฌ์ด ์์ ์๋ ์์ต๋๋ค. ์ ๋ง๋ก ๋
ธ๋ ฅํ๋ค๋ฉด ์ธ์ ๊ฐ ๋ฐ๋์ ์์ Java ๊ฐ๋ฐ์๊ฐ ๋ ๊ฒ์
๋๋ค. ์ด ์ญํ ์์ ๋ฌด์์ ๊ธฐ๋ํ๋์? ์ฐ๋ฆฌ์ ๊ธฐ์ฌ
์์ ๊ฐ๋ฐ์๊ฐ ๋๋ ๊ฒ์ ์ด๋ค ๊ฒ์ธ๊ฐ. ์ญํ ์ ๋ํ ๊ฐ๋ตํ ๊ฐ์ด๋
๋ชจ๋ ๋น๋ฐ์ ๋ฐํ๋๋ค. ์ ๋ฐฐ๋ค์ด ์๋ฒฝํ ์ฝ๋๋ฅผ ์์ฑํ ๋ฟ๋ง ์๋๋ผ, ํ๋ฐฐ์ ์คํ์์ ๋ฉํ ๋งํ์ฌ ํํํ ํ์ ๊ตฌ์ถํ๊ณ ์๋ค๋ ์ฌ์ค์ ๋๋ผ์ค ์๋ ์์ต๋๋ค. ๊ทธ๋ค์ ์ฑ๋ฅ์ ๊ด์ฌ์ ๊ฐ๊ณ ์์ผ๋ฉฐ ์๋์ด ๊ฐ๋ฐ์์ ๊ฐ์ฅ ๊ท์คํ ๊ธฐ์ ์ค ํ๋๋ ๊ฐ๋ ฅํ ์ฌํ์ ๊ธฐ์ ์
๋๋ค. ์ ๋ฐฐ๋ค์ IT ๋ถ์ผ์์ ์ผํ๋ ๊ฒ์ด ๋จ์ํ ๋์์ ์ปดํจํฐ์ ์ํตํ๋ ๊ฒ๋ง์ด ์๋๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์ฃผ๋ณ ์ฌ๋๋ค๊ณผ์ ์ํต์ด๊ธฐ๋ ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์์ Java ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด ์ผ๋ง๋ ๋ง์ ์๊ฐ์ด ํ์ํฉ๋๊น? ์ด ์ง๋ฌธ๊ณผ ๊ธฐํ ์ง๋ฌธ์ ์ฌ๊ธฐ์์ ๋ค๋ฃน๋๋ค:
์ฃผ๋์ด โ ์๋์ด. ์์ Java ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด ๋ช ๋
์ด ํ์ํฉ๋๊น
? ์ ์ฉํ ํ๊ณผ ํํธ๊ฐ ํฌํจ๋ ์ด ๋ชจ๋ CodeGym ๊ฐ์ด๋๊ฐ ๊ทํ์ ๊ฒฝ๋ ฅ์ ๊ธ์ฆ์ํค๋ ๋ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ง๋ ๋ช ๋
์์ ์ฐ๋ฆฌ
์ฑ๊ณต ์ฌ๋ก
์์ ์ฃผ๋์ด๋ถํฐ ์๋์ด๊น์ง์ ๊ณผ์ ์ ๋ํ ๊ทํ์ ๊ธฐ์ฌ๋ฅผ ์ฝ๊ฒ ๋ ๊ฒ์
๋๋ค .
GO TO FULL VERSION