์ฌ๋์ด ์ค์ค๋ก ๋๋ ์จ๋ผ์ธ ๊ณผ์ ์์ ํ๋ก๊ทธ๋๋ฐ์ ๊ณต๋ถํ๊ธฐ ์์ํ๋ฉด "ํ๋ ๋ถ์ผ"๋ฅผ ์ ์ํ๊ณ ๋ชจ๋ ๊ฒ์ ์ฒด๊ณํํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด ๊ธฐ์ฌ์์๋ JavaRush ํ๋ก๊ทธ๋๋ฐ ํ์ต๊ณผ ์ ์ฉํ ๋งํฌ๋ฅผ ํ์ตํ๊ธฐ ์ํ ์จ๋ผ์ธ ์ฝ์ค์์ ํน์ ์ ํ์ด ์ผ๋ง๋ ์๋ฒฝํ๊ฒ ์ ๊ณต๋๋์ง๋ฅผ ๋ํ๋ด๋ ์ด๋ณด์๋ฅผ ์ํ Java ์์
์ ์ฒด๊ณํ๋ฅผ ์ ์ํฉ๋๋ค .
ํผ์ฆ์ ์ด๋์์ ์ฐพ์ ์ ์๋์?
์ธ์ด ๊ตฌ๋ฌธ ๋ฌธ์
์ด๋ณด์๋ฅผ ์ํ ์ต์ด์ Java ํ๋ก๊ทธ๋๋ฐ ์์ ์ธ ๊ธฐ๋ณธ ์ฌํญ - "Hello World"๋ถํฐ ๋ฃจํ ๋ฐ ๋ฐฐ์ด๊น์ง. JavaRush์๋ ์ด๋ฌํ ํญ๋ชฉ์ด ๋ง์ด ์์ต๋๋ค. ํนํ ์ฒ์ 6๊ฐ ๋ ๋ฒจ์ Java ๊ตฌ๋ฌธ ํ์คํธ์ ๋ฐ์ง๋์ด ์์ต๋๋ค. ๋ํํ๊ธฐ ์ํด ์ถ๊ฐ ์์ค๋ฅผ ์ฐพ์ ํ์๋ ๊ฑฐ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์์ค๊ฐ ์ถฉ๋ถํฉ๋๋ค. ๋ํ ๋ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ์๋์ผ๋ก ๊ตฌ๋ฌธ์ ๋ฐ๋ณตํฉ๋๋ค. ํ์ง๋ง ๊ฐ์๊ธฐ ํ์ํ๋ค๋ฉด ์ด๋ณด์๋ฅผ ์ํ Java ๋ฌธ์ ์ง์๋ ๋น์ทํ ์ฐ์ต ๋ฌธ์ ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ๋ค๋ง ์ด ๋ฌธ์ ์ง์๋ JavaRush์ฒ๋ผ ์ฆ๊ฐ์ ์ธ ํ์ธ์ ์์ต๋๋ค.์์ง์ ๋ฌด
์ปฌ๋ ์ ์ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ณต๋ถํ๋ ๋์ ์ ํ๊ฒ ๋๋ ์ฒซ ๋ฒ์งธ "์ฌ๊ฐํ" ์ฃผ์ ์ ๋๋ค. ์ปฌ๋ ์ ์ ์ฉ์ธ ์ด๋ณด์๋ฅผ ์ํ Java ๋ฌธ์ ๋ JavaRush( Java ๊ตฌ๋ฌธ ํ์คํธ์ 7๋ฒ์งธ ๋ฐ 8๋ฒ์งธ ๋ ๋ฒจ)์ ๋๋ฆฌ ํ์๋์ด ์์ต๋๋ค. ์ฌ๊ธฐ์์ ํ์์ ์ฒ์์ผ๋ก Java ์ปฌ๋ ์ ํ๋ ์์ํฌ์ ๋ํด ๋ฃ๊ณ Set, List ๋ฐ Map ์ธํฐํ์ด์ค์ ์ผ๋ถ ๊ตฌํ์ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋จ๊ณ์์๋ ์ด ์ ์ฉํ ๋๊ตฌ์ ๊ฐ๋จํ Java ์์ ๋ง ์๊ฒ ๋ฉ๋๋ค. ์ปฌ๋ ์ ์ ๋ํ ๋ณด๋ค ์ฒ ์ ํ ์ฐ๊ตฌ๋ Java ์ปฌ๋ ์ ํ์คํธ ์ค์ ์ด๋ฃจ์ด์ง๋๋ค . ์ ์ฒด ํ์คํธ์ ์ด๋ฆ์ด ์ด ๋ฌผ๊ฑด์ ์ด๋ฆ์ ๋ฐ์ ๋ช ๋ช ๋์๊ธฐ ๋๋ฌธ์ ์ด ๋ฌผ๊ฑด์ด ์ผ๋ง๋ ์ค์ํ์ง ์ ์ ์์ต๋๋ค!์์ธ ๋ฌธ์
Java์ ๋น์ ์์ ์ธ ์ํฉ์ ๋ํ ์์ ์ ๋ด๋นํ๋ ํน์ ๋ฉ์ปค๋์ฆ์ด ์์ด ํ๋ก๊ทธ๋จ์์ ์ค๋ฅ๋ฅผ "์ก๋" ์์ ์ด ํฌ๊ฒ ๋จ์ํ๋ฉ๋๋ค. ํ์ง๋ง ์ด๋ฅผ ์์ ํ ์ฌ์ฉํ๋ ค๋ฉด Java์์ ์์ธ ์ฒ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํดํด์ผ ํฉ๋๋ค. JavaRush์๋ ์ด๋ฌํ ์์ ์ด ๋ง์ด ์์ผ๋ฉฐ ์ฒซ ๋ฒ์งธ Java ๊ตฌ๋ฌธ ํ์คํธ์์๋ ๋ฐ๊ฒฌ๋ฉ๋๋ค.์ ํ ๋ณํ ๋ฌธ์
๋ฌผ๋ก ์ด ๊ทธ๋ฃน์ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ ์์ ์ผ๋ก ๋ถ๋ฅ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ์ ๊ฒธ์ํ ์๊ฒฌ์ผ๋ก๋ ์ด๋ฌํ ์์ ์ ์ข ์ข ๊ณผ์ํ๊ฐ๋๋ฉฐ ์ด๋ณด์๋ ์ด๋ฌํ ์์ ์ ์ํํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์ต๋๋ค. ๋ฐ๋ผ์ ํ ํ๋ฆฟ์์ ๋ฒ์ด๋์. "๊ธฐ๋ณธ ์ ํ์ ๋ณํ"์ด๋ผ๋ ์ฃผ์ ์ ๋ํด ์ด๋ณด์๋ฅผ ์ํ Java ์์ ์ ์์ฃผ ์ํ๋๋ ๊ฒ์ฒ๋ผ ๋งจ ์ฒ์์ ๊ณต๋ถํ๋ ๊ฒ์ด ์๋๋ผ ์กฐ๊ธ ๋์ค์ ์ฒซ ๋ฒ์งธ Java ๊ตฌ๋ฌธ ํ์คํธ๊ฐ ๋๋ ๋ ๊ณต๋ถํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ Java Core ํ์คํธ์์ OOP๋ฅผ ๊ณต๋ถํ์ฌ ๊ธฐ๋ณธ์ด ์๋ ์ ํ(๊ฐ์ฒด)์ ์บ์คํ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค . JavaRush์๋ ์ด๋ฌํ ์์ ์ด ๋ง์ด ์์ผ๋ฏ๋ก ์ถ๊ฐ๋ก ์ฐพ์ ํ์๊ฐ ์์ต๋๋ค.OOP๋ฅผ ์ดํดํ๊ธฐ ์ํ ์์
OOP๋ ๊ฐ์ฅ ์ด๋ ค์ด ์ฃผ์ ๋ ์๋์ง๋ง ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ฒ๋ค๊ฐ ๋ฉด์ ๊ด๋ค์ด ๋ฏธ๋์ 'ํ๋ฐฐ'๋ฅผ ์ก๊ธฐ ์ํด ์ฆ๊ฒจ ์ฌ์ฉํ๋ ๋ฏธ๋ฌํ ์์๋ ๋ง์ด ํฌํจ๋์ด ์๋ค. JavaRush ๊ณผ์ ์๋ ๊ฐ์ฒด ์งํฅ ์ ๊ทผ ๋ฐฉ์์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ ์ด๋ณด์๋ฅผ ์ํ ์ค์ฉ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ OOP๋ฅผ ์ ๋๋ก ์ดํดํ๋ ค๋ฉด ํด๋น ์ฃผ์ ์ ๋ํ ๋ฌธํ(์: Kay Horstmann, Gary Cornell์ Professional's Library, McLaughlin์ Object-Oriented Analysis and Design ๋๋ ๊ธฐํ ์ฑ )์ ์ฝ๋ ๊ฒ์ด ์ข์ต๋๋ค.I/O ์ค๋ ๋ ์์
์ฐ๋ฆฌ๋ I/O ์คํธ๋ฆผ์ ์ดํดํ๊ธฐ ์ค๋ ์ ์ ์ฌ์ฉํ๊ธฐ ์์ํฉ๋๋ค. ์ด๊ฒ์ Java์ ๋๋ค. System.out์ ์ค๋ช ํ๊ณ ๊ฒ๋ค๊ฐ System.in์ ์ด๋ณด์์๊ฒ ์ค๋ช ํ๋ ๊ฒ์ ์ด๋ ต๊ณ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์๋ ํ์ํ์ง ์์ต๋๋ค. ํ์ง๋ง Java Core ํ์คํธ๋ฅผ ์งํํ๋ ๋์์๋ ์ด ๋ค์ ํผ๋์ค๋ฌ์ด ์ฃผ์ ๋ฅผ ์ดํดํ๋ ๋ฐ ์ง์๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ฉฐ, ์ฝ์ ์ ๋ ฅ/์ถ๋ ฅ๋ฟ๋ง ์๋๋ผ ํ์ผ ์์คํ ์์ ์ ๋ํด์๋ ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ด๋ฌํ ์์ ์ ๊ฑด๋๋ฐ์ง ์๊ณ (JavaRush์๋ ์๋นํ ๋ง์ ์์ ์ด ์์) ์ด๋ก ์ ์ผ๊ด๋๊ฒ ์ดํดํ๋ ๊ฒ์ ๋๋ค.ํผ์ฆ
"ํผ์ฆ"์ด๋ ๋ง์ ์ง์์ด ํ์ํ์ง ์๊ณ ์ด๋ฅผ ๋นํ์ค ๋ฐฉ์์ผ๋ก ์ ์ฉํ๋ ๋ฅ๋ ฅ์ด ํ์ํ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ๋ ์์ ์ ์๋ฏธํฉ๋๋ค. ์ด๋ Java Junior์ ์ผ๋ฐ์ ์ธ ์์ ์ ๋๋ค. ์ธํฐ๋ทฐ์์๋ ๋งค์ฐ ์ธ๊ธฐ๊ฐ ์์ง๋ง ์ค์ ์์ ์์๋ ์ด๋ฌํ ์๋ฏธ์ ํผ์ฆ์ด ํํ์ง ์์ต๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ JavaRush์๋ ๊ทธ๋ฐ ๊ฒ๋ค์ด ์์ง๋ง ๊ทธ๋ค์ง ๋ง์ง๋ ์์ต๋๋ค(๋ณดํต Bobrov ์ ์ฅ์ ์์ ์ ์์).- http://acm.timus.ru/problemset.aspx?space=1&tag=tricky
- https://tproger.ru/category/problems/
- https://www.codechef.com/
- https://www.codewars.com/?์ธ์ด=java
์๊ณ ๋ฆฌ์ฆ ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ
๋ฏธ๋์ ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ผ๋ง๋ ํ์ํ์ง์ ๋ํ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ ๋์์๋ ๋ ผ์์ด ์์ต๋๋ค. ๋ค์ ํ๋ฒ ์ฐ๋ฆฌ๋ ๋๋ตํ ๊ฒ์ ๋๋ค: ์ฌ๊ณ ์ ๋ฐ์ ์ ์ํด โ ์ ๋ฌด์ ์ง์ ์ ์ผ๋ก ํ์ํฉ๋๋ค โ ๊ฑฐ์ ์์ต๋๋ค. Java ๋ฐ ๊ธฐํ ์ธ์ด์ ๊ฒฝ์ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด๋ฏธ ์๋ ค์ง ๋ชจ๋ ์ ๋ ฌ, ๊ฒ์ ๋ฐ ๊ธฐํ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํ์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ ๋ง์ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ์ ๋ง๋๋ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก์ฑ์ ๋ํ ์ดํด๋ฅผ ๋ฐ์ ์ํค๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ํนํ ํ๊ต์์ ์ํ๋ง ๊ณต๋ถํ ์ฌ๋๋ค์๊ฒ๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ์์น์ ์ผ๋ก ์ด๋ฌํ ์์ ์๋ ํผ์ฆ์ด ์ฐ์ฌํด ์์ผ๋ฉฐ ์ ์ผํ ์ฐจ์ด์ ์ ๋ชจ๋ ์์ ์ด ์จ๋ผ์ธ์์ ์ฌ๋ฌ ๋ฒ ์ค๋ช ๋๊ณ ํด๊ฒฐ๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ฒ์ฆ์ ์ํด ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ๋ ํ์ํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํ๋ฆฐ์คํด ๋ํ๊ต , ์บ๋ฆฌํฌ๋์ ๋๋ Stepic ์ ๋๋ฃ ๋ฑ ์ํ๋ ๊ณผ์ ์ ์ ํํ์ธ์ . ๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ฐ๋ฆฌ๊ฐ JavaRush์ ๋ฒ์ญํ CS50 ๊ณผ์ ์์๋ ๋ช ๊ฐ์ง ์ค์ํ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ๋ ผ์๋ฉ๋๋ค. ๋ ๋ฒจ 2~5์ ๋น๋์ค๋ฅผ ์์ฒญํ๊ณ Java๋ก ์์ ์ ๊ตฌํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ํ ๋ฌธ์ : ๋ฐ์ดํฐ ๊ตฌ์กฐ ์์ :๋ฉํฐ์ค๋ ๋ฉ
๋๊ตฌ๋ "Hello World"๋ฅผ ์ธ์ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์์ต๋๋ค... ์ ๋ช ํ ๋ฌธ๊ตฌ๊ฐ ์ถ๊ฐ ์ค๋ ๋์์ ์ธ์๋๋๋ก Java Thread API๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น? ๊ทธ๋ฆฌ๊ณ 5๊ฐ์ ์๋ก ๋ค๋ฅธ ์ค๋ ๋์์ "Hello world"๋ฅผ 5๋ฒ ์ธ์ํ๊ณ ์ค์ด ๋ฒ๊ฐ์ ํ์๋์ง ์๋๋ก?. ๋ฉํฐ์ค๋ ๋ฉ์ Java Core๋ฅผ ํ์ตํ๋ ๋์ ์ค์ "๊ฐ๋ ํ ์คํธ"์ ๋๋ค. JavaRush์ ๋ํ ์ ์ฒด ํ์คํธ๋ Java ๋ฉํฐ์ค๋ ๋ฉ ์ด๋ผ๊ณ ํ๋ ์ด ๋งค์ฐ ์ด๋ ค์ด ์ฃผ์ ์ ์ ๋ ํ๊ณ ์์ผ๋ฉฐ, ์ฌ๊ธฐ์๋ ํ์์ด ๋ณ๋ ฌ ํ๋ก์ธ์ค์ "๊ณ ํต๊ณผ ์๋ฆ๋ค์"์ ๋๋ ์ ์๋๋ก ๋ง์ ์์ ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋๊ฐ ํ์๋ค์ ์ฒซ ๋ฒ์งธ "์ค์ " ํ๋ก์ ํธ์๋ ์ด๋ ์ ๋ ๋ฉํฐ์ค๋ ๋ฉ์ด ํฌํจ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฐ๋จํ ๊ฒ์.
๋ฉํฐ์ค๋ ๋ฉ ์์ ๋ค์ฏ ๋ช ์ ์นจ๋ฌตํ๋ ์ฒ ํ์๋ค์ด ์ํ์ ์์ ์๋ค. ๊ทธ๋ค ๊ฐ๊ฐ์ ์์๋ ์คํ๊ฒํฐ ํ ์ ์๊ฐ ๋์ฌ ์์ต๋๋ค. ํฌํฌ๋ ํ ์ด๋ธ์ ๊ฐ ์ฒ ํ์์ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ(๊ทธ๋ค ์ฌ์ด)์ ๋์ฌ ์์ต๋๋ค. ์ฒ ํ์๋ ๋จน์ ์๋ ์๊ณ ์๊ฐํ ์๋ ์์ต๋๋ค. ๋์ฑ์ด ๊ทธ๋ ๋ ๊ฐ์ ํฌํฌ๋ฅผ ๋ค๊ณ ์์ด์ผ๋ง ๋จน์ ์ ์์ต๋๋ค. ํ๋๋ ์ค๋ฅธ์ชฝ๊ณผ ์ผ์ชฝ์ ์์ต๋๋ค. โํฌํฌ๋ฅผ ์ง๋๋คโ์ โํฌํฌ๋ฅผ ๋ด๋ ค๋๋๋คโ๋ ์์ฐจ์ ์ผ๋ก ์ํ๋๋ ๋ณ๋์ ์์ ์ ๋๋ค. |
์ ๋ค๋ฆญ์ ๋ํ ์์
์ผ๋ฐํ๋ ์๋ํ, ์ฆ ์ด๋ค ์๋ฏธ์์๋ ํ๋ก๊ทธ๋๋ฐ์ ๋ณธ์ง์ ๋๋ค. ๋ฐ๋ผ์ Java์ ์ผ๋ฐํ ๋๋ ์ ๋ค๋ฆญ ์ฃผ์ ๋ ๋ฌด์ํด์๋ ์ ๋ฉ๋๋ค. JavaRush์๋ ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์์ ์ด ์์ต๋๋ค(์ฃผ๋ก ๋ ๋ฒจ 5๋ถํฐ ์์ํ๋ Java ์ปฌ๋ ์ ํ์คํธ์ ์์). ์ ๋ค๋ฆญ์ ๋ํ ์ ์ฉํ ์ฐ์ต๊ณผ ์๋ฃ๋ฅผ ์ฐพ์ ์ ์๋ ๊ณณ:- https://docs.oracle.com/javase/tutorial/java/generics/QandE/generics-questions.html
- https://www.geeksforgeeks.org/generics-in-java/
- http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html
- Joshua Bloch์ "Effective Java" ์ฑ
๋์์ธ ํจํด ์์
์ด๋ค ๋จ๊ณ(JavaRush ๊ณผ์ ์ ์ฝ 2/3)์์ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ๋ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ๋ฐ๋ฅธ ๋งค๋ ๊ท์น์ ์์ธํ ์ดํด๋ณด๊ธฐ ์์ํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๋ฐ๋ฅธ ์ฝ๋ ํ์(๋ ์ฌ์)๊ณผ ๋์์ธ ํจํด(๋ ์ด๋ ค์)์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. JavaRush์๋ ์ด๋ฌํ ์์ ์ด ์์ต๋๋ค. ์ถ๊ฐ ํญ๋ชฉ์ด ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฑ (4๋ถ) " Java."์์ ์ฐพ์ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ ยป Blinov ๋ฐ Romanchik. ๋๋ ์ด๋ฏธ ํด๊ฒฐ๋ ๋ฌธ์ ๋ฅผ ํ ํ๋ฆฟ์ ์ ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํด ๋ณด์ธ์.๋จ์ ํ ์คํธ
ํ๋ก๊ทธ๋๋จธ์ ์ค์ํ ๊ธฐ์ ์ ์ข ์ข ํ ์คํฐ์๊ฒ๋ง ๋ถ์ฌ๋๋ ์ค์๋ก ์์ ์ ์ฝ๋์ ๋ํ ๋จ์(๋๋ ๋จ์) ํ ์คํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋๋ค. JavaRush์๋ ๋ช ๊ฐ์ง ๋จ์ ํ ์คํธ ์์ ์ด ์์ง๋ง ์ค์ ๋ก ์๋ก์ด ์์ ์ ์ฐพ๋ ๋ฐ ์ ๊ฒฝ์ ์ธ ํ์๋ ์์ต๋๋ค. ํ ์คํธ ์์ฑ ๋ฐฉ๋ฒ์ ํ์ ํ ํ์๋ ๋จ์ ํ ์คํธ๋ก ์ฝ๋(์์ ์ ํ๋ก์ ํธ, ๊ต์ก ์์ ์์)๋ฅผ ๋ค๋ฃจ๋ ์ต๊ด์ ํ์ฑํ์ธ์. ์ด๊ฒ์ ํ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฒช๋ ๊ฒฝํฅ์ด ์๋ ์ฝ์ ์ถ๋ ฅ์ ์ฌ์ฉํ์ฌ ๊ฒ์ฌ๋ฅผ ์ํํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ์ ์ฉํฉ๋๋ค. ๋ํ, ํ์ฌ๊ฐ "ํ๋ฐฐ"์๊ฒ ๊ฐ์ฅ ๋จผ์ ๋งก๊ธด ์ผ์ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋์ ๋ํ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋๋ค.- ์ธํ์ ๋ํ ๋จ์ ํ ์คํธ - Habr์ ์ ์ฉํ ๊ธฐ์ฌ, ๊ทธ ํ์ ๋จ์ ํ ์คํธ๊ฐ ํ์ํ ์ด์ ๊ฐ ๋ถ๋ช ํด์ง๋๋ค.
- Junit - ํ ์คํฐ๋ฅผ ์ํ Java - Yuri Tkach์ ๋น๋์ค ํํ ๋ฆฌ์ผ
์ ๊ท์ ๋ฌธ์
์ด๊ฒ์ ํน์ดํ๊ณ ๊ฒ์ผ๋ฅด๊ธฐ ๋๋ฌธ์ ์ด๋ณด์๊ฐ ๊ฑฐ์ ์ดํดํ์ง ๋ชปํ๋ ๊ฐ๋จํ ์ฃผ์ ์ ๋๋ค. ์ฌ์ค, ์ฃผ์ ๋ฅผ ์ฐ๊ตฌํ๊ณ , "์ ๊ท"๋ฅผ ์ดํดํ๊ณ , ๊ทธ๋ ๊ฒ ํ์ง ์์ ์ฌ๋๋ค๋ณด๋ค ์ด์ ์ ์ป๋ ๋ฐ ๋ฉฐ์น ์ ๋ณด๋ผ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฑฐ์ ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ์ ์ฉํฉ๋๋ค. ํ ๋ฒ ๋ฐฐ์ฐ๋ฉด ์ด๋์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ๊ท์์ ์ด์ ์ ๋ง์ถ JavaRush์๋ ๋ฌธ์ ๊ฐ ์์ง๋ง ์ผ๋ถ๋ ์ ๊ท์์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ฃผ์ ๋ฅผ ์ดํดํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ์ถ๊ฐ ๋ฆฌ์์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.- Java์ ์ ๊ท์ - Jeff Friesen์ ๊ธฐ์ฌ ๋ฒ์ญ
- ์ ๊ท์ ํ ์คํธ - ์ ๊ท์์ ์จ๋ผ์ธ์ผ๋ก ํ ์คํธํ ์ ์๋ ๋ฆฌ์์ค
- Mike Fitzgerald ์ ๊ท ํํ์์ ์งง๊ณ ๊ฐ๋จํ ํํ ๋ฆฌ์ผ์ ๋๋ค.
GO TO FULL VERSION