์๋
! ์ค๋ ์ฐ๋ฆฌ๋ Java ๊ฐ๋ฐ์์ ์ฑ์ฅ ๊ฒฝ๋ก์ ์์๊ฐ ์๊ธฐ ์ํด ์์์ผ ํ ์ฌํญ์ ๋ํด ์ด์ผ๊ธฐํ ๊ฒ์
๋๋ค.
์ธํฐ๋ทฐ์์ ๋ชจ๋ ๊ฐ๋ฐ์๋ ๊ตฌ์ง์๋ฅผ ๊ทธ๋ฆด ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ฌ ํ๋ก์ ํธ์์ ๋ง๋ ํน์ ์ฃผ์ ์ ๋ํด ์ง๋ฌธํ๊ธฐ ์์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ๊ฒ์ ์์ง ๋ชปํ๋ ๊ฒ์ ์ ์์
๋๋ค. ์ผ๋ถ ์ง๋ฌธ์ ๋ตํ ์ ์๋ค๋ ์ฌ์ค๋ ์ ์์
๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ Java ํ๋ก๊ทธ๋๋จธ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ดํด๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ด์ "๊ธฐ๋ณธ"์ผ๋ก ๊ฐ์ฃผ๋๋ ๊ฒ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
๋ํ Java ์ธํฐ๋ทฐ์์ ์ง๋ฌธ์ ์ฐพ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ํํ ๋ฌด์์ ๋ฐฐ์์ผ ํ๊ณ ์ด๋ค ์ง๋ฌธ์ ์ค๋นํด์ผ ํ๋์ง ์ดํดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
MySQL์ ํจ์ฌ ๊ฐ๋จํ์ง๋ง PostgreSQL์๋ ํจ์ฌ ๋ ๊ด๋ฒ์ํ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ ์ด๋ ๊ทธ๋ค ์ค ํ๋์ ์ต์ํด์ง๋ฉด ์์ํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค. ์ธํฐ๋ท ๊ฒ์ ๊ธฐ์ ์ ์ฌ์ฉํ๋ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌํ์ ๊ณต๋ถํ ์ ์์ต๋๋ค. YouTube์์ ๊ด๋ จ ๊ธฐ์ฌ์ ์์ต์๋ฅผ ์ฐพ์๋ณด์ธ์. ๋ต๋ณ์ด ํ์ํ ์ง๋ฌธ์ ๋ํ ์ ์ ํ ๊ฒ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ฅ๋ ฅ์ ๋ฐฐ์ํด์ผ ํฉ๋๋ค. ๊ฒฐ๊ตญ ํ๋ก๊ทธ๋๋จธ๋ ์ธํฐ๋ท ๊ฒ์์์ ๋ธ๋ ๋ฒจํธ๋ฅผ ๊ฐ์ง ์ฌ๋์
๋๋ค.
์จ๋ผ์ธ์์ ์ฐพ์ ์ ์๋ Git์ ๋ํ ๋ง์ ๊ธฐ์ฌ ์ธ์๋ YouTube์๋ ์ด ๊ธฐ์ ์ ๋จ๊ณ๋ณ๋ก ๋ง์คํฐํ๋ ๋ฐ ๋์์ด ๋๋ ์ถฉ๋ถํ ๋์์์ด ์์ต๋๋ค. ์ฒ์์๋ ์ผ์ข
์ GUI ๊ตฌํ๋ณด๋ค ๋ช
๋ น์ค์์ Git์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ชจ๋ ์์
์ ๋ช
๋ น์ผ๋ก ์ํํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค. ์ธํฐ๋ทฐ์์ ์ฌ๋๋ค์ ์ข
์ข
๋ช ๊ฐ์ง Git ๋ช
๋ น์ ๋ํด ๋ฌป๋ ๊ฒ์ ์ข์ํ๋ฏ๋ก ์์ฑํ์ฌ ๊ฐ๊น์ด ๊ณณ์ ๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ํ ์ธํฐ๋ทฐ ์ ์ ํ์ด๋ณด๊ณ ๊ธฐ์ต์ ๋์ด๋ฆฌ๊ธฐ ์ํด ๊ฐ์ฅ ์ค์ํ ์ฌํญ์ ๊ธฐ๋กํ๋ฉด์ ๋ฉ๋ชจํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด์ ์ด ํ๋ ์์ํฌ๋ฅผ ์๋ ๊ฒ์ด Java ๊ตฌ๋ฌธ์ ์๋ ๊ฒ๋งํผ ์ค์ํฉ๋๋ค. Spring์๋ Java EE์ ๊ฐ์ ํ์ ๊ฐ ์๋ค๊ณ ๋งํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ Java EE๋ ๊ตฌ์์ด๋ฉฐ ์ ํ๋ก์ ํธ์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๋๋ค์์ Java ๊ฐ๋ฐ์๋ ์ด์ Java-Spring ๊ฐ๋ฐ์์ด๋ฏ๋ก ๋ช ๊ฐ์ง ๊ธฐ๋ณธ Spring ๊ธฐ์ ์ ์์์ผ ํฉ๋๋ค. Spring์ ๋จ์ํ ํ๋ ์์ํฌ๊ฐ ์๋๋ผ ํ๋ ์์ํฌ์ ์ ์ฒด ํ๋ ์์ํฌ์
๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ Spring์ด ์ ๊ณตํ๋ ํ๋ ์์ํฌ์ ํ์ ์งํฉ์ผ ๋ฟ์
๋๋ค. ์ด๋ณด์์ ๊ฒฝ์ฐ ๋ช ๊ฐ์ง๋ง ์๋ฉด ์ถฉ๋ถํฉ๋๋ค.
์คํ๋ง ์ปจํ
์ด๋, ๋น, DI, IoC ๋ฑ์ ๊ดํ ๋ชจ๋ ๊ฒ์ ์ดํดํ ์ ์๋๋ก ๋จผ์ ์ด๊ฒ์ ๋ฃ์ด์ผ ํฉ๋๋ค. ๋งํ์๋ฉด Spring ์ฌ์ฉ์ ์ฒ ํ์ ์ดํดํ๋ ๊ฒ์
๋๋ค. Spring ํ๋ ์์ํฌ์ ๋ํ ์ถ๊ฐ ์ฐ๊ตฌ๋ ์ด ๊ธฐ๋ฐ ์์ ๊ตฌ์ถ๋ ๊ฒ์
๋๋ค. ์๋ก ๋ฐฐ์ด ๋ชจ๋ ๊ธฐ์ ์ ์ ์ง์ ์ผ๋ก ํตํฉํ ์ ์๋ ์์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ง์ ๋ง๋ค์ด์ผ ํ ์๋ ์์ต๋๋ค.
์์ ์ฐ๋ฆฌ๋ JDBC๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์์ฑํ๋ ๊ธฐ์ ๋ก ์ธ๊ธํ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด ๊ธฐ์ ์ "์ ๋๋ผํ" ์ฌ์ฉ์ ๋ ์ด์ ํ๋ก์ ํธ์์ ์ฐพ์ ์ ์์ผ๋ฏ๋ก JDBC ํ์ต์ด ํ์ํ์ง ์๋ค๊ณ ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ฌ๋ฐ๋ฅธ ํ๋๊ฐ ์๋๋๋ค. JDBC์ ๋ค์ดํค๋(์ง์ ) ์ฌ์ฉ์ ํ์ํ๋ฉด ๋ฎ์ ์์ค์์ ๊ธฐ์ ์ ๋ณด๊ณ ๋ฌธ์ ์ ๋จ์ ์ ์ดํดํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ Spring JDBC ํ์ต์ ์์ํ๋ฉด ์ด ํ๋ ์์ํฌ๊ฐ ์ ํํ ๋ฌด์์ ๊ฐ์ ํ๊ณ ์ต์ ํํ๊ณ ์จ๊ธฐ๋์ง ์๊ฒ ๋ ๊ฒ์
๋๋ค.
๊ธฐ๋ณธ JDBC์ ์ํฉ๊ณผ ์ ์ฌํ๊ฒ ์ด ํ๋ ์์ํฌ๋ ๊ธฐ์กด ๊ธฐ์ (์ด ๊ฒฝ์ฐ Hibernate)์ ํ์ฉํฉ๋๋ค. Spring ์์ด Hibernate๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํ๋ค๋ฉด Spring Hibernate๊ฐ ์ ๊ณตํ๋ ์ด์ ์ ๋ถ๋ช
ํ ๊นจ๋ซ๊ฒ ๋ ๊ฒ์
๋๋ค.
์ด์ ์ ์ฐ๋ฆฌ๋ JPA์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ๋ค์ํ ๊ตฌํ์ด ์์ง๋ง ์ฌ์์ผ ๋ฟ์ด๋ผ๊ณ ์ธ๊ธํ์ต๋๋ค. ์ด๋ฌํ ๊ตฌํ ์ค์์ Hibernate๋ ์ด์์ ๊ฐ์ฅ ๊ฐ๊น์ต๋๋ค. Spring์ ๋ด๋ถ์ ์ผ๋ก Hibernate๋ฅผ ์ฌ์ฉํ๋ ์ด์์ ์ธ JPA ๊ตฌํ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. JPA ์ฌ์์ ์ด์์ ๊ฐ๋ฅํ ํ ๊ฐ๊น์ต๋๋ค. ์คํ๋ง JPA๋ผ๊ณ ํฉ๋๋ค. ํ๋ง๋๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ก์ธ์ค๋ฅผ ํฌ๊ฒ ๋จ์ํํฉ๋๋ค. JDBC, Hibernate, Spring JDBC ๋๋ Spring Hibernate๋ฅผ ๋ฐฐ์ฐ์ง ์๊ณ JPA๋ง ๋ฐฐ์ธ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์์ด ๋งค์ฐ ํผ์์ ์ผ ๊ฒ์
๋๋ค.
์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ ์น ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉ์์๊ฒ ํ์ํ๊ณ ์ธํฐํ์ด์ค์ ๋๋จธ์ง ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ํต์ ์ ์ฉ์ดํ๊ฒ ํ ์ ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ๋์คํ๋ ์ด ์ฒ๋ฆฌ๋ฅผ ๋ด๋นํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ์๊ณ RESTful ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์ํธ ์์ฉํ๋ ๊ฒฝ์ฐ ๋์คํ๋ ์ด ์์ด ์ฌ์ฉํ ์๋ ์์ต๋๋ค. Spring์ ๋ํ ์ ๋ณด๋ฅผ ๋ ์ ํก์ํ๊ธฐ ์ํด ๊ธฐ์ฌ ๋ฐ YouTube ๊ฐ์ ์ธ์๋ ์ฌ๋ฌ ์ฑ
์ ์ฝ์ ์ ์์ต๋๋ค. ์ ๋ Craig Walls์ "Spring in Action"์ด๋ผ๋ ์ฑ
์ ์ ๋ง ์ข์ํ์ต๋๋ค. ์์ด๋ฅผ ์ ์์๋ ๋ถ์ 6ํ์ ์ฝ์ด๋ณด์๊ธธ ๊ถํฉ๋๋ค. Spring์ ๊ดํ ๋ ๋ค๋ฅธ ํ๋ฅญํ ์ฑ
์ "์ ๋ฌธ๊ฐ๋ฅผ ์ํ Spring 5"์
๋๋ค. ๋ ์กฐ๋ฐํฉ๋๋ค. ์ฒ์๋ถํฐ ๋๊น์ง ์ฝ๋ ๊ฒ๋ณด๋ค ๊ฐ๊น์ด์ ๋๋ ๊ฒ์ด ๋ ๊ฐ์น ์๋ ์ฐธ๊ณ ์๋ฃ์ ๊ฐ๊น์ต๋๋ค.
์ด ๊ธฐ์ ์ Spring ์ฌ์ฉ์ ํฌ๊ฒ ๋จ์ํํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ๋ณ๋์ค๋ฝ๊ฒ ๋ชฉ๋ก์ ๋์ ๋ฃ์ง ์์์ต๋๋ค. ์ฌ์ค, ๊ทธ๊ฒ์ ํ๋ ์๋์ ๋ง์ ๊ฒ์ ์จ๊ธฐ๊ณ ์์ผ๋ฉฐ ๋ฐ๋๋ผ ์คํ๋ง์ ์ต์ํ์ง ์์ ์ฌ๋์๊ฒ๋ ๋ง์ ์ ์ด ๋ถ๋ถ๋ช
ํ๊ฑฐ๋ ์ดํดํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ๋จผ์ Spring ํ๋ ์์ํฌ์ ์๋ ๋ฐฉ์์ ๋ ์ ์ดํดํ๋ ค๋ฉด ์ผ๋ฐ Spring์ ์ฌ์ฉํ ๋ค์ Spring Boot ์ฌ์ฉ์ ๋ ๋์ ์ด์ ์ ๋ชจ๋ ์ ํํด์ผ ํฉ๋๋ค. ๋ํ Spring Security ๋ฐ Spring AOP์ ์ต์ํด์ง๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ ๊ธฐ์ ๊ณผ ๋ฌ๋ฆฌ ์ด ๋ ๊ฐ์ง์ ๋ํ ๊น์ ์ง์์ ์์ง ํ์ํ์ง ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ์ด๋ณด์๋ฅผ ์ํ ๊ฒ์ด ์๋๋๋ค. ๋ฉด์ ์์ ์ ์
๊ฐ๋ฐ์๋ค์ ๊ทธ๋ค์ ๋ํด ๋ฌป์ง ์์ ๊ฒ์
๋๋ค(์๋ง๋ ํ๋์ ํผ์์ ์ธ ์ง๋ฌธ์ ์ ์ธํ๊ณ ). ์ด๋ฌํ ๊ธฐ์ ์ด ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์์
์ ์๋ฆฌ์ ๋ํ ๊ฐ์๋ฅผ ์ฝ์ผ์ญ์์ค. ์ด ๊ธฐ์ฌ์์๋ ๋๋ ์ฑ
์ฝ๊ธฐ์ ๋ํด ์ฌ๋ฌ ๋ฒ ์ธ๊ธํ์ต๋๋ค. ํํธ์ผ๋ก ์ด๊ฒ์ ์๋ฌด ์ฌํญ์ด ์๋๋๋ค. ์ฑ
ํ ๊ถ๋ ์ฝ์ง ์๊ณ ๋ ์จ๋ผ์ธ ๊ธฐ์ฌ์ ๊ต์ก ๋น๋์ค์์ ํ์ํ ๋ชจ๋ ์ง์์ ์ต๋ํ์ฌ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ ์ ์์ต๋๋ค. ํํธ, ์ทจ์
์์ฅ์์๋ ํ์ฌ ์ด๋ณด ๊ฐ๋ฐ์ ๊ฐ์ ๊ฒฝ์์ด ์น์ดํ์ฌ ์ด๋ณด ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ์ฌํญ์ ๋ํ ๊ธฐ์ค์ด ๋์์ง๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ ๋ง์ด ์์๋ก ๋ฉด์ ๊ด์๊ฒ ๋น์ ์ ์ง์ ์์ค์ ๋ณด์ฌ์ค์ผ๋ก์จ ์ฒซ ์ง์ฅ์ ๋ ๋นจ๋ฆฌ ์ฐพ์ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค. Java๊ฐ ํจ๊ปํ๊ธธ ๋ฐ๋๋๋ค. ์ด๋ณด์๊ฐ ์์์ผ ํ ๊ธฐ์ค์ ๋์
๋๋ค. ๋ฐ๋ผ์ ๋ ๋ง์ด ์์๋ก ๋ฉด์ ๊ด์๊ฒ ๋น์ ์ ์ง์ ์์ค์ ๋ณด์ฌ์ค์ผ๋ก์จ ์ฒซ ์ง์ฅ์ ๋ ๋นจ๋ฆฌ ์ฐพ์ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค. Java๊ฐ ํจ๊ปํ๊ธธ ๋ฐ๋๋๋ค. ์ด๋ณด์๊ฐ ์์์ผ ํ ๊ธฐ์ค์ ๋์
๋๋ค. ๋ฐ๋ผ์ ๋ ๋ง์ด ์์๋ก ๋ฉด์ ๊ด์๊ฒ ๋น์ ์ ์ง์ ์์ค์ ๋ณด์ฌ์ค์ผ๋ก์จ ์ฒซ ์ง์ฅ์ ๋ ๋นจ๋ฆฌ ์ฐพ์ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค. Java๊ฐ ํจ๊ปํ๊ธธ ๋ฐ๋๋๋ค.

1. ๊ธฐ๋ณธ ์๊ณ ๋ฆฌ์ฆ
Java๋ฟ๋ง ์๋๋ผ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ฐ๊ธฐ ์์ํ ๋ ๊ฐ์ฅ ๋จผ์ ๋ค๋ฃจ์ด์ผ ํ ๊ฒ์ ๊ธฐ๋ณธ ์ฌํญ์ ์ดํดํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์๊ณ ๋ฆฌ์ฆ. ๋ฌดํํ ์์ ์๊ณ ๋ฆฌ์ฆ์ด ์์ผ๋ฉฐ ๊ฐ๋ฅํ ํ ๋ง์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐฐ์ฐ๋ ค๊ณ ๋ ธ๋ ฅํ๋ฉด์ ํ์์ ๋ญ๋นํด์๋ ์๋ฉ๋๋ค. ๋๋ถ๋ถ์ ์ ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค. "Grokking Algorithms"๋ผ๋ ์ฑ ์์ ํ์ํ ์ต์ํ์ ์ง์์ ์ป์ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์์ํ๊ธฐ์ ์ถฉ๋ถํ์ง๋ง ์ํ๋ ๊ฒฝ์ฐ Robert Sedgewick๊ณผ Kevin Wayne์ด ์ ์ ํ "Structures and Algorithms" ๋๋ "Algorithms in Java" ์ฑ ์์ ๋ฐฐ์ธ ์ ์์ต๋๋ค. ๋ํ ์ปดํจํฐ ๊ณผํ ๊ธฐ์ด์ ๋ํ ์ง์์ ํฅ์์ํค๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๊ฒ์ Harvard CS50 ์ฝ์ค๋ก ํ ์ ์์ต๋๋ค.2. ์๋ฐ ๊ตฌ๋ฌธ
์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ์ด๋ฅผ ๋ฐฐ์ด ํ์๋ Java ๊ตฌ๋ฌธ์ ๋ฐฐ์์ผ ํฉ๋๋ค. ๊ฒฐ๊ตญ, ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์์ ๋ชจ๋ Java ํ๋ก๊ทธ๋๋จธ๊ฐ ๋๊ธฐ ์ํด ๊ณต๋ถํ๊ณ ์์ต๋๋ค. CodeGym ๊ณผ์ ์ ์ด์ ์๋ฒฝํฉ๋๋ค. ์๋ง์ ์์ ์ ์ํํ๋ค ๋ณด๋ฉด Java ๊ตฌ๋ฌธ์ ์์ ๋๊ฒ ๋๊ณ ํฐ ๋ง์ค์ ์์ด Java ์ฝ๋๋ฅผ ๋ชจ๊ตญ์ด์ฒ๋ผ ์ฐ๊ณ ์ฝ๊ฒ ๋ ๊ฒ์ ๋๋ค. CodeGym์ ์ค์ต์ด์ง๋ง ๊ทธ ์ด์์ผ๋ก ๋ฌด์์ ํ๊ณ ์๋์ง ์ดํดํ๋ ค๋ฉด ์ด๋ก ๋ ์ดํด๋ด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ฑ ์ ์ฝ์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์ ์ค ํ๋์ ๋๋ค.- "ํค๋ ํผ์คํธ ์๋ฐ",
- Barry Bird์ "Java for Dummies";
- Herbert Schildt์ "Java: A Beginner's Guide".
- "Java๋ก ์๊ฐํ๊ธฐ", Bruce Eckel;
- Joshua Bloch์ "Effective Java";
- Herbert Schildt์ "Java: The Complete Reference".

3. ๋์์ธ ํจํด
๋์์ธ ํจํด์ ์์ฃผ ๋ฐ์ํ๋ ์ํฉ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํน์ ๋ฐ๋ณต ๊ฐ๋ฅํ ํจํด์ ๋๋ค. ์ฌ๊ธฐ์๋ ์์กด์ฌ์ด ๊ฐํ ๋ชจ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์์ผ ํ ๊ธฐ๋ณธ์ ์ด๊ณ ๊ฐ๋จํ ํจํด์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด ์ฃผ์ ๋ฅผ ์ดํดํ๋ ค๋ฉด "Head First Design Patterns"๋ผ๋ ์ฑ ์ ์ฝ์ผ์ญ์์ค. ๊ธฐ๋ณธ ๋์์ธ ํจํด์ ์ ๊ทผ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ค๋ช ํฉ๋๋ค. ํ์ง๋ง ์ด ์ฑ ์ ์๋ฐ์ ๋ํด ๋ง์ด ์ด์ผ๊ธฐํ๋ฏ๋ก ์ด ์ฑ ์ ์ฝ์ ๋ ์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ํ ์ ์ฐฝํจ๋ ํ์ํฉ๋๋ค. ํจํด์ ๋ํด ์์ธํ ์์๋ณด๋ ค๋ฉด Gang of Four(ํธ์ง์ ์ฃผ : The Gang of Four๋ Erich Gamma, Richard Helm, Ralph๋ฅผ ํฌํจํ๋ ์ ์ ํ์ ๋๋ค. ์กด์จ, ์กด ๋ธ๋ฆฌ์๋ฐ์ค.). ์ด ํญ๋ชฉ์ ๊ณต๋ถํ๊ณ ๋๋ฉด ์ฝ๋์ ๊ฑฐ์ ๋ชจ๋ ๊ณณ์์ ํจํด์ ๋ณผ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ธ๊ธฐ ์๋ ์ธํฐ๋ทฐ ์ง๋ฌธ์ด๋ฏ๋ก ํนํ Spring์์ ์ฌ์ฉ๋๋ ํจํด์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์ญ์์ค.4. ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์. ์ฝ๋ ์ฒญ๊ฒฐ
ํ์ค ๋์์ธ ํจํด ์ธ์๋ ์์์ผ ํ ๋ค์ํ ์์น๊ณผ ํจ๋ฌ๋ค์( SOLID , GRASP )์ด ์์ต๋๋ค. ๋ํ ์ฝ๋๋ฅผ ๊นจ๋ํ๊ณ ์ฝ๊ธฐ ์ฝ๊ฒ ์ ์งํด์ผ ํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ ๋ณด๋ ค๋ฉด ์ด ์ฃผ์ ์ ๋ํด ์์์ผ ํฉ๋๋ค. Robert Martin์ Clean Code๋ฅผ ์ฐธ์กฐํ๊ฑฐ๋ Steve McConnell์ "Code Complete"๋ฅผ ํ์ธํ์ญ์์ค.5. SQL
๋ค์ ๋จ๊ณ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฉ ์ธ์ด์ธ SQL์ ์ฐ๊ตฌํ๋ ๊ฒ์ ๋๋ค . ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ๋ ์ ๋ณด(๋ฐ์ดํฐ)๊ฐ ์ ์ฅ๋๋ ๊ณณ์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ๊ฐ์ ํ ์ด๋ธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค(์ ํ๊ธฐ์ ์ฃผ์๋ก์ด ๊ฐ๋จํ ์์). Java ๊ฐ๋ฐ์๋ Java ์์ฉ ํ๋ก๊ทธ๋จ๋ฟ๋ง ์๋๋ผ ์ํธ ์์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์์น์ ๋ํด์๋ ์ฑ ์์ด ์์ต๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ ํ)์์ ๋ชจ๋ ์ํธ ์์ฉ์ SQL(Structured Query Language)์ด๋ผ๋ ํน์ ์ธ์ด๋ฅผ ํตํด ๋ฐ์ํฉ๋๋ค. ์ด ์ฃผ์ ๋ฅผ ์ดํดํ๋ ค๋ฉด ๋ค์ ์ฑ ์ค ํ๋๋ฅผ ์ฝ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.- Alan Beaulieu์ "Learning SQL";
- Chris Fehily์ "SQL";
- Lynn Beighley์ "ํค๋ ํผ์คํธ SQL".
6. MySQL/ํฌ์คํธ๊ทธ๋ SQL
SQL ์ธ์ด๋ฅผ ๋ฐฐ์ด ํ์๋ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌํ์ ์ต์ํด์ ธ์ผ ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ๋ผ ์ผ๋ถ ๋ช ๋ น์ ํฌ๊ฒ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฅ์๋ ์๋นํ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ MySQL ๋ฐ PostgreSQL ์ ๋๋ค .
7. ๋ฉ์ด๋ธ/๊ทธ๋๋ค
Gradle ๋๋ Maven ํ๋ ์์ํฌ๋ฅผ ๋ฐฐ์์ผ ํฉ๋๋ค. ๊ทธ๊ฒ๋ค์ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ ๊ฒ์ด๋ฉฐ, ์ฌ๋ฌ๋ถ์๊ฒ Java๋ ์ด์ ๋ช ๊ฐ์ง ํด๋์ค์ ๊ด๋ จ๋ ์์ ์ ์ํ ๊ฒ์ผ ๋ฟ๋ง ์๋๋ผ ๋ณธ๊ฒฉ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ธฐ ์ํ ์ธ์ด์ด๊ธฐ๋ ํฉ๋๋ค. ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ๋ฐฉ๋ฒ, ๋น๋ ๋จ๊ณ๊ฐ ๋ฌด์์ธ์ง, ํ์ฌ ์ฝ๋๋ก ํ์ํ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ํ๋ ๋ฐฉ๋ฒ ๋ฑ์ ์ดํดํด์ผ ํฉ๋๋ค. Gradle์ด ๋ ์๋กญ๊ณ ๊ฐ๊ฒฐํ๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ Maven์ด ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ๋ผ์ Maven ๋น๋ ์๋ช ์ฃผ๊ธฐ์ ํน๋ณํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ฌ์ผ ํฉ๋๋ค.8. ํ๋ด
Git์ ๋ถ์ฐ ๋ฒ์ ์ ์ด ์์คํ ์ ๋๋ค. ์ด ๊ธฐ์ ์ ํตํด ๊ฐ๋ฐ์๋ ์๋ก ๊ฐ์ญํ์ง ์๊ณ ๋จ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ณต๋ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ๋ค๋ฅธ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Subversion . ๊ทธ๋ฌ๋ Git์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ Git์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
9. ์ ์ด๋๋น์จ
์ด ๊ธฐ์ ์ Java ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ๊ธฐ๋ณธ ์ฌํญ์ JDBC ์์ต์๋ฅผ ์ฝ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ ์ด์ Naked JDBC๋ฅผ ์ง์ ์ฌ์ฉํ๋ ์ฌ๋์ ์๋ฌด๋ ์์ง๋ง JDBC๋ฅผ ์ค๋ช ํ๊ณ ๊ธฐ์ด์ ์ธ ์์ ๋ฅผ ์ ๊ณตํ๋ ๋ง์ ๊ธฐ์ฌ๊ฐ ์์ต๋๋ค.10. JPA. ์ต๋ ์ ์ ๋ชจ๋
JPA๋ JDBC์ ๋ง์ฐฌ๊ฐ์ง๋ก Java ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋์์ JPA๋ ๋ ๋์ ์์ค์ ๊ธฐ์ ์ด๋ฏ๋ก ์ฌ์ฉํ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ JPA๋ ๊ตฌํ์ด ์๋๋ผ ์ฌ์์ผ ๋ฟ์ ๋๋ค. ๊ตฌ์ฒด์ ์ธ ์ค์ฒ์ด ํ์ํฉ๋๋ค. ๊ทธ๋ค ์ค ๋ง์ ์๊ฐ ์กด์ฌํ์ง๋ง JPA ์ด์์ ๊ฐ์ฅ ๊ฐ๊น๊ณ ๊ฐ์ฅ ์ธ๊ธฐ ์๊ณ ๊ฐ์ฅ ๋ฐ์ ๋ ๊ฒ์ Hibernate์ ๋๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ฒฝ๋ ฅ์์ ์ด ๊ธฐ์ ์ ๋ ๋ฒ ์ด์ ์ ํ๊ฒ ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ์ฌ๋ฅผ ์ฝ์์ผ๋ก์จ ์ด ๊ธฐ์ ์ ์ต์ํด์ง๋ ๊ฒ ์ธ์๋ "Java Persistence API"์ ๊ฐ์ ์ฑ ์ ์ฝ๋ ๊ฒ์ ๋ํด ์๊ฐํด ๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค.11. ๋ด
Java ๊ฐ๋ฐ์๊ฐ ๋๋ฉด Spring์ ๋ ์ด์ ๋น์ ์ ์ํ ๋จ์ด๊ฐ ์๋๋๋ค.

- ์คํ๋ง ์ฝ์ด
์คํ๋ง ์ปจํ
์ด๋, ๋น, DI, IoC ๋ฑ์ ๊ดํ ๋ชจ๋ ๊ฒ์ ์ดํดํ ์ ์๋๋ก ๋จผ์ ์ด๊ฒ์ ๋ฃ์ด์ผ ํฉ๋๋ค. ๋งํ์๋ฉด Spring ์ฌ์ฉ์ ์ฒ ํ์ ์ดํดํ๋ ๊ฒ์
๋๋ค. Spring ํ๋ ์์ํฌ์ ๋ํ ์ถ๊ฐ ์ฐ๊ตฌ๋ ์ด ๊ธฐ๋ฐ ์์ ๊ตฌ์ถ๋ ๊ฒ์
๋๋ค. ์๋ก ๋ฐฐ์ด ๋ชจ๋ ๊ธฐ์ ์ ์ ์ง์ ์ผ๋ก ํตํฉํ ์ ์๋ ์์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ง์ ๋ง๋ค์ด์ผ ํ ์๋ ์์ต๋๋ค.
- ์คํ๋ง JDBC
์์ ์ฐ๋ฆฌ๋ JDBC๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์์ฑํ๋ ๊ธฐ์ ๋ก ์ธ๊ธํ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด ๊ธฐ์ ์ "์ ๋๋ผํ" ์ฌ์ฉ์ ๋ ์ด์ ํ๋ก์ ํธ์์ ์ฐพ์ ์ ์์ผ๋ฏ๋ก JDBC ํ์ต์ด ํ์ํ์ง ์๋ค๊ณ ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ฌ๋ฐ๋ฅธ ํ๋๊ฐ ์๋๋๋ค. JDBC์ ๋ค์ดํค๋(์ง์ ) ์ฌ์ฉ์ ํ์ํ๋ฉด ๋ฎ์ ์์ค์์ ๊ธฐ์ ์ ๋ณด๊ณ ๋ฌธ์ ์ ๋จ์ ์ ์ดํดํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ Spring JDBC ํ์ต์ ์์ํ๋ฉด ์ด ํ๋ ์์ํฌ๊ฐ ์ ํํ ๋ฌด์์ ๊ฐ์ ํ๊ณ ์ต์ ํํ๊ณ ์จ๊ธฐ๋์ง ์๊ฒ ๋ ๊ฒ์
๋๋ค.
- ๋ด ๋๋ฉด
๊ธฐ๋ณธ JDBC์ ์ํฉ๊ณผ ์ ์ฌํ๊ฒ ์ด ํ๋ ์์ํฌ๋ ๊ธฐ์กด ๊ธฐ์ (์ด ๊ฒฝ์ฐ Hibernate)์ ํ์ฉํฉ๋๋ค. Spring ์์ด Hibernate๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํ๋ค๋ฉด Spring Hibernate๊ฐ ์ ๊ณตํ๋ ์ด์ ์ ๋ถ๋ช
ํ ๊นจ๋ซ๊ฒ ๋ ๊ฒ์
๋๋ค.
- ์คํ๋ง JPA
์ด์ ์ ์ฐ๋ฆฌ๋ JPA์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ๋ค์ํ ๊ตฌํ์ด ์์ง๋ง ์ฌ์์ผ ๋ฟ์ด๋ผ๊ณ ์ธ๊ธํ์ต๋๋ค. ์ด๋ฌํ ๊ตฌํ ์ค์์ Hibernate๋ ์ด์์ ๊ฐ์ฅ ๊ฐ๊น์ต๋๋ค. Spring์ ๋ด๋ถ์ ์ผ๋ก Hibernate๋ฅผ ์ฌ์ฉํ๋ ์ด์์ ์ธ JPA ๊ตฌํ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. JPA ์ฌ์์ ์ด์์ ๊ฐ๋ฅํ ํ ๊ฐ๊น์ต๋๋ค. ์คํ๋ง JPA๋ผ๊ณ ํฉ๋๋ค. ํ๋ง๋๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ก์ธ์ค๋ฅผ ํฌ๊ฒ ๋จ์ํํฉ๋๋ค. JDBC, Hibernate, Spring JDBC ๋๋ Spring Hibernate๋ฅผ ๋ฐฐ์ฐ์ง ์๊ณ JPA๋ง ๋ฐฐ์ธ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์์ด ๋งค์ฐ ํผ์์ ์ผ ๊ฒ์
๋๋ค.
- ์คํ๋ง MVC
์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ ์น ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉ์์๊ฒ ํ์ํ๊ณ ์ธํฐํ์ด์ค์ ๋๋จธ์ง ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ํต์ ์ ์ฉ์ดํ๊ฒ ํ ์ ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ๋์คํ๋ ์ด ์ฒ๋ฆฌ๋ฅผ ๋ด๋นํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ์๊ณ RESTful ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์ํธ ์์ฉํ๋ ๊ฒฝ์ฐ ๋์คํ๋ ์ด ์์ด ์ฌ์ฉํ ์๋ ์์ต๋๋ค. Spring์ ๋ํ ์ ๋ณด๋ฅผ ๋ ์ ํก์ํ๊ธฐ ์ํด ๊ธฐ์ฌ ๋ฐ YouTube ๊ฐ์ ์ธ์๋ ์ฌ๋ฌ ์ฑ
์ ์ฝ์ ์ ์์ต๋๋ค. ์ ๋ Craig Walls์ "Spring in Action"์ด๋ผ๋ ์ฑ
์ ์ ๋ง ์ข์ํ์ต๋๋ค. ์์ด๋ฅผ ์ ์์๋ ๋ถ์ 6ํ์ ์ฝ์ด๋ณด์๊ธธ ๊ถํฉ๋๋ค. Spring์ ๊ดํ ๋ ๋ค๋ฅธ ํ๋ฅญํ ์ฑ
์ "์ ๋ฌธ๊ฐ๋ฅผ ์ํ Spring 5"์
๋๋ค. ๋ ์กฐ๋ฐํฉ๋๋ค. ์ฒ์๋ถํฐ ๋๊น์ง ์ฝ๋ ๊ฒ๋ณด๋ค ๊ฐ๊น์ด์ ๋๋ ๊ฒ์ด ๋ ๊ฐ์น ์๋ ์ฐธ๊ณ ์๋ฃ์ ๊ฐ๊น์ต๋๋ค.
- ์คํ๋ง ๋ถํธ
์ด ๊ธฐ์ ์ Spring ์ฌ์ฉ์ ํฌ๊ฒ ๋จ์ํํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ๋ณ๋์ค๋ฝ๊ฒ ๋ชฉ๋ก์ ๋์ ๋ฃ์ง ์์์ต๋๋ค. ์ฌ์ค, ๊ทธ๊ฒ์ ํ๋ ์๋์ ๋ง์ ๊ฒ์ ์จ๊ธฐ๊ณ ์์ผ๋ฉฐ ๋ฐ๋๋ผ ์คํ๋ง์ ์ต์ํ์ง ์์ ์ฌ๋์๊ฒ๋ ๋ง์ ์ ์ด ๋ถ๋ถ๋ช
ํ๊ฑฐ๋ ์ดํดํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ๋จผ์ Spring ํ๋ ์์ํฌ์ ์๋ ๋ฐฉ์์ ๋ ์ ์ดํดํ๋ ค๋ฉด ์ผ๋ฐ Spring์ ์ฌ์ฉํ ๋ค์ Spring Boot ์ฌ์ฉ์ ๋ ๋์ ์ด์ ์ ๋ชจ๋ ์ ํํด์ผ ํฉ๋๋ค. ๋ํ Spring Security ๋ฐ Spring AOP์ ์ต์ํด์ง๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ ๊ธฐ์ ๊ณผ ๋ฌ๋ฆฌ ์ด ๋ ๊ฐ์ง์ ๋ํ ๊น์ ์ง์์ ์์ง ํ์ํ์ง ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ์ด๋ณด์๋ฅผ ์ํ ๊ฒ์ด ์๋๋๋ค. ๋ฉด์ ์์ ์ ์
๊ฐ๋ฐ์๋ค์ ๊ทธ๋ค์ ๋ํด ๋ฌป์ง ์์ ๊ฒ์
๋๋ค(์๋ง๋ ํ๋์ ํผ์์ ์ธ ์ง๋ฌธ์ ์ ์ธํ๊ณ ). ์ด๋ฌํ ๊ธฐ์ ์ด ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์์
์ ์๋ฆฌ์ ๋ํ ๊ฐ์๋ฅผ ์ฝ์ผ์ญ์์ค. ์ด ๊ธฐ์ฌ์์๋ ๋๋ ์ฑ
์ฝ๊ธฐ์ ๋ํด ์ฌ๋ฌ ๋ฒ ์ธ๊ธํ์ต๋๋ค. ํํธ์ผ๋ก ์ด๊ฒ์ ์๋ฌด ์ฌํญ์ด ์๋๋๋ค. ์ฑ
ํ ๊ถ๋ ์ฝ์ง ์๊ณ ๋ ์จ๋ผ์ธ ๊ธฐ์ฌ์ ๊ต์ก ๋น๋์ค์์ ํ์ํ ๋ชจ๋ ์ง์์ ์ต๋ํ์ฌ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ ์ ์์ต๋๋ค. ํํธ, ์ทจ์
์์ฅ์์๋ ํ์ฌ ์ด๋ณด ๊ฐ๋ฐ์ ๊ฐ์ ๊ฒฝ์์ด ์น์ดํ์ฌ ์ด๋ณด ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ์ฌํญ์ ๋ํ ๊ธฐ์ค์ด ๋์์ง๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ ๋ง์ด ์์๋ก ๋ฉด์ ๊ด์๊ฒ ๋น์ ์ ์ง์ ์์ค์ ๋ณด์ฌ์ค์ผ๋ก์จ ์ฒซ ์ง์ฅ์ ๋ ๋นจ๋ฆฌ ์ฐพ์ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค. Java๊ฐ ํจ๊ปํ๊ธธ ๋ฐ๋๋๋ค. ์ด๋ณด์๊ฐ ์์์ผ ํ ๊ธฐ์ค์ ๋์
๋๋ค. ๋ฐ๋ผ์ ๋ ๋ง์ด ์์๋ก ๋ฉด์ ๊ด์๊ฒ ๋น์ ์ ์ง์ ์์ค์ ๋ณด์ฌ์ค์ผ๋ก์จ ์ฒซ ์ง์ฅ์ ๋ ๋นจ๋ฆฌ ์ฐพ์ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค. Java๊ฐ ํจ๊ปํ๊ธธ ๋ฐ๋๋๋ค. ์ด๋ณด์๊ฐ ์์์ผ ํ ๊ธฐ์ค์ ๋์
๋๋ค. ๋ฐ๋ผ์ ๋ ๋ง์ด ์์๋ก ๋ฉด์ ๊ด์๊ฒ ๋น์ ์ ์ง์ ์์ค์ ๋ณด์ฌ์ค์ผ๋ก์จ ์ฒซ ์ง์ฅ์ ๋ ๋นจ๋ฆฌ ์ฐพ์ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค. Java๊ฐ ํจ๊ปํ๊ธธ ๋ฐ๋๋๋ค. 
GO TO FULL VERSION