"์๋ , ์๋ฏธ๊ณ ! ์ค๋์ ์ฝ๋ ์คํ์ผ๊ณผ ์ฝ๋ ์คํ์ผ์ ์ค์์ฑ์ ๋ํด ์๋ ค์ค๊ฒ."
"๊ฐ์ฅ ์ค์ํ ๊ฒ๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค. Java ์ฝ๋๋ ์ฝ๊ธฐ ์ฌ์์ผ ํฉ๋๋ค. ์ฝ๋์ ๋ํ ์ผ๋ฐ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ฝ๋๋ ํ ๋ฒ ์์ฑ๋์ง๋ง ๋ฐฑ ๋ฒ ์ฝ์ต๋๋ค."
"๋น์ ๊ณผ 10๋ช ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋น์ ์ 3๊ฐ์๋ง๋ค ์ค๊ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ํฌํจํ์ฌ 3๋ ๋์ ์์ฉ ํ๋ก๊ทธ๋จ ์์ ์ ํฉ๋๋ค."
"๊ทธ๋ ๊ฒ ์ค๋?"
"์ด๊ฒ์ด ๋ฐ๋ก ๋ด ์ด๋ฆฐ ๋ฒ ์งฑ์ด ์๋ฐ! "100๋ช ์ด 6๋ ๋๊ฒ ์ฐ๊ณ ์์ญ ๋์ ์๋ฒ์์ ์คํ๋๋ ์ํฐํ๋ผ์ด์ฆ ์์คํ ์ ์ด๋ป์ต๋๊น? ๊ทธ๊ฒ๋ ๊ฐ๋ ์ผ์ด๋๋ค."
"์."
"์ด์จ๋ ์ฃผ์ ๊ท์น, ์ฝ๋์ ๋ํ ์ฃผ์ ์๊ตฌ ์ฌํญ์ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์ฝ๊ฒ ์ฝ์ ์ ์์ด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค."
"๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ ์ฌ๋๋ค์ด ์์ ์์ ์ ๋ํด ์๊ท๋ชจ ํ์ผ๋ก ์์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ '์๋ํฉ๋๊น? ํ๋ฅญํฉ๋๋ค'์ ๊ฐ์ ๋ ๋ค๋ฅธ ์ฃผ์ ๊ท์น์ด ์์ ์ ์์ต๋๋ค."
"๋ช ๋ ๋์ ๋ชจ๋ ํ์์ ๋น์ ์ด ์์ฑํ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ณ๊ฒฝํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋งค๋ฒ ์ฝ๋๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํดํด์ผ ํฉ๋๋ค."
"๊ทธ๋ฆฌ๊ณ ์๋ฒฝํ๊ฒ ์๋ํ๋ ์ดํดํ ์ ์๋ ์ฝ๋๋ ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๊ทธ๋ค์ ๊ทธ๊ฒ์ ๋ฒ๋ฆฌ๊ณ ์์ ์ ๋ฐฉ์์ผ๋ก ๋ค์ ์์ฑํ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ดํดํ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํ์ญ์์ค. ์ฝ๋๋ฅผ ๊ฐ์ ํ ์ ์์ผ๋ฉด ๊ฐ์ ํ์ญ์์ค. ๊ฐ์ ํ ์ ์๋ ๊ฒฝ์ฐ ๊ทธ๋ผ ๊ฐ์ ํด์ผ์ง! "
"15๋ถ ๋์ ์ฝ๋๋ฅผ ์์ฑํ ๋ค์ ์ฝ๋๋ฅผ ๊ฐ์ ํ๋ ๋ฐ 2์๊ฐ์ ์๋นํ๋ค๋ฉด ์ ๋๋ก ํ๊ณ ์๋ ๊ฒ์ ๋๋ค. ์ผ๋ง๋ ๋ง์ ์๊ฐ์ ํ์ ์ ์ฝํ๊ณ ์์ต๋๊น?"
"'์ฝ๋๋ฅผ ์ดํดํ๋ ๋ฐ 2์๊ฐ' x '์ฌ๋๋ค์ด ์ฝ๋๋ฅผ ์ดํดํด์ผ ํ๋ 100๋ฒ' = 200์๊ฐ."
"๋๋ ์ด ์์น๋ฅผ ํ๊ณต์์ ๊บผ๋์ง๋ง ๋ฌธ์ ์ ๊ทธ ๋ฒ์๋ฅผ ์ดํดํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋น์ ์ ์ฝ๋๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฝ์ ์ ์๋๋ก ๋ง๋ค์ด์ก์ต๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ๋ถ์ฐจ์ ์ ๋๋ค."
"์ฝ๋๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ์ง ์์ต๋๊น? ์์ ํ๊ฒ ์ต๋๋ค. ์ต์ ํ๋์ง ์์์ต๋๊น? ์ต์ ํํ๊ฒ ์ต๋๋ค. ๋ฌธ์ํ๋์ง ์์์ต๋๊น? ์ฃผ์์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค."
" ์ฝ๋๊ฐ ์ฝ๊ธฐ ์ด๋ ค์ฐ์ธ์? ์ฐ๋ ๊ธฐ๋ ์ฐ๋ ๊ธฐํต์ ๋ฒ๋ฆฌ๊ณ ์ฒ์๋ถํฐ ๋ค์ ์์ฑํ์ธ์! "
"๊ทธ๋ ๊ฒ ํฐ ์ผ์ด๋ผ๊ณ ์๊ฐํ์ง ์์์ต๋๋ค."
"Java๊ฐ ์ต๊ณ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ ์ด์ ์ค ํ๋๋ ๋ชจ๋ Java ์ฝ๋๊ฐ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฝ์ ์ ์๋๋ก ์์ฑ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค."
"์ด์ ๋ ๋ฒ์งธ ์ง๋ฌธ์ผ๋ก ๋์ด๊ฐ๊ฒ ์ต๋๋ค. ์ฝ๋๋ฅผ ์ต๋ํ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น? "
"๋๊ตฐ๊ฐ ๋ชจ๊ตญ์ด๋ก ์ต์ํ ๋จ์ด๋ฅผ ๋งํ๋ฉด ๋๊ตฌ๋ ์ดํดํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฝ๊ฒ ์ถ์ธกํ ์ ์์ ๋ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์ฝ์ ์ ์์ต๋๋ค.
A) ๊ฐ ๋ฐฉ๋ฒ์ด ํ๋ ์ผ
๋) ๊ฐ ์์ ์ ๋ชฉ์
C) ๊ฐ ๋ณ์๊ฐ ์ ํํ ๋ฌด์์ ์ ์ฅํ๋์ง.
์ด ๋ชจ๋ ๊ฒ์ ํด๋์ค ์ด๋ฆ, ๋ฉ์๋ ์ด๋ฆ ๋ฐ ๋ณ์ ์ด๋ฆ๊ณผ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ๋ํ ๋ณ์ ์ด๋ฆ ์ง์ ๊ณผ ๊ด๋ จํ์ฌ ์คํ์ผ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฝ๋ ์คํ์ผ์ด ์์ต๋๋ค."
"๋ค์ ์ค๋น๊ฐ ๋์์ต๋๋ค."
" ํ๋ก๊ทธ๋๋ฐ์ ์ข์ ์์ด๊ฐ ๊ธฐ๋ณธ! ์ ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ์ผ๋ฐ ๊ธฐ์ ๋ฌธ์์ฒ๋ผ ์ฝํ๋๋ค. "
" ์ด๋ฆ๋ถํฐ ์์ํฉ์๋ค. "
"๋ฉ์๋ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ์ํํ๋ ์์ ์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ฝ๋๋ฅผ ๊ฐ๋จํ ์ฐ๋ฌธ์ฒ๋ผ ์ฝ์ ์ ์์ต๋๋ค."
public String downloadPhoto(String url)
{
String resultFileName = TempHelper.createTempFileName();
Downloader downloader = new SingleFileDownloader(new Url(url));
downloader.setResultFileName(resultFileName)
downloader.start();
while(downloader.isDone())
{
Thread.sleep(1000);
}
if (downloader.hasError())
return null;
return resultFileName;
}
"๊ทธ๋ฐ ํ๋ก๊ทธ๋จ์ ์ฝ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค."
๋ผ์ธ 1.
"์ด ๋ฐฉ๋ฒ์ 'downloadPhoto'๋ผ๊ณ ํฉ๋๋ค. ์ธํฐ๋ท์์ ์ฌ์ง ํ์ผ์ ๋ค์ด๋ก๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋๋ก ๋ค์ด๋ก๋ํฉ๋๊น? ์์ง ๋ชจ๋ฆ ๋๋ค. ์ด๋์์? ์ด ๋ฐฉ๋ฒ์๋ url์ด๋ผ๋ ๋งค๊ฐ ๋ณ์๊ฐ ์์ต๋๋ค. ์๋ง๋ URL์ผ ๊ฒ์ ๋๋ค. ๋ค์ด๋ก๋."
3ํ.
"๋ณ์ resultFileName์ TempHelper.createTempFileName()์ ์ํด ์ ์ธ๋๊ณ ๊ฐ์ด ํ ๋น๋ฉ๋๋ค."
๋ฐ๋ผ์ ์ด๊ฒ์ ๋ค์ด๋ก๋ํ ํ์ผ์ ์ ์ฅํ ํ์ผ์ ๋ก์ปฌ ๊ฒฝ๋ก์ฌ์ผ ํฉ๋๋ค.
"'TempHelper'๋ผ๋ ์ด๋ฆ์ ์ฐ๋ฆฌ์๊ฒ ์๋ฌด ์๋ฏธ๊ฐ ์์ต๋๋ค. 'Helper' ์ ๋ฏธ์ฌ๋ ์ด๊ฒ์ด ์ค์ํ ๋น์ฆ๋์ค ๋ก์ง์ ํฌํจํ์ง ์๋ ์ผ์ข ์ ์ ํธ๋ฆฌํฐ ํด๋์ค๋ผ๊ณ ๋งํ์ง๋ง, ์คํ๋ ค ์์ฃผ ๋ฐ์ํ๋ ์ผ์์ ์ธ ์์ ์ ๋จ์ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค."
"๋ฉ์๋ ์ด๋ฆ 'createTempFileName'์ ์ด ๋ฉ์๋๊ฐ ์์ ํ์ผ(์์ ํ์ผ)์ ์ด๋ฆ์ ์์ฑํ๊ณ ๋ฐํํจ์ ๋ํ๋ ๋๋ค. ์์ ํ์ผ์ ์ ์ ๋์ ์์ฑ๋ ๋ค์ ์ผ๋ฐ์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ด ๋ซํ ๋ ์ญ์ ๋๋ ์์ ํ์ผ์ ๋๋ค. "
5ํ.
"SingleFileDownloader ๊ฐ์ฒด๊ฐ ์์ฑ๋์ด ๋ณ์ ๋ค์ด๋ก๋์ ํ ๋น๋ฉ๋๋ค."
์ด๊ฒ์ ์ธํฐ๋ท์์ ํ์ผ์ ๋ค์ด๋ก๋ํ ๊ฐ์ฒด์ ๋๋ค.
"SingleFileDownloader ๊ฐ์ฒด๋ ๊ฐ๋ณ ๋ค์ด๋ก๋์ ํ ๋น๋ฉ๋๋ค. ์ด๋ฆ์์ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์ ํ์ ๋ค์ด๋ก๋ ํด๋์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค. ํ๋๋ ๋จ์ผ ํ์ผ์ ๋ค์ด๋ก๋ํ๊ธฐ ์ํด ์์ฑ๋์์ผ๋ฉฐ ๊ทธ๋ฃน์ฉ ์ฝ๋์์ ๋ค๋ฅธ ๋ค์ด๋ก๋๋ฅผ ๋ง๋ ์ ์์ ๊ฒ์ผ๋ก ์์ํ ์ ์์ต๋๋ค. MultiFileDownloader, FileGroupDownloader ๋๋ DirectoryDownloader์ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ํ์ผ"
6ํ.
"์ฐ๋ฆฌ๋ ๋ค์ด๋ก๋ ๊ฐ์ฒด์ resultFileName ์์ฑ์ ๋ณ์ resultFileName์ ๊ฐ๊ณผ ๋์ผํ๊ฒ ์ค์ ํ์ต๋๋ค. ์ฆ, ๋ก๋์๊ฒ ๋ค์ด๋ก๋ํ ํ์ผ์ ์ ์ฅํ ์์น๋ฅผ ์๋ ค์ค๋๋ค. ์์ํ ๋๋ก์ ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ๋๋ฅผ ์์ธกํ๊ณ ์์ต๋๋ค!"
7ํ.
"์ฐ๋ฆฌ๋ ์์ ๋ฐฉ๋ฒ์ ํธ์ถํฉ๋๋ค. ๋ค์ด๋ก๋๊ฐ ์์๋ฉ๋๋ค. ๋ง์ด ๋ฉ๋๋ค. ๋ค์ด๋ก๋๊ฐ ์ด๋ป๊ฒ ๋ฐ์ํ๋์ง ๊ถ๊ธํฉ๋๋ค. ๋ถ๋ถ์ ์ผ๋ก, ๋ณ๋์ ์ค๋ ๋์์ ๋๋ ์ ์ฒด๋ฅผ ๋ฐ๋ก ์ฌ๊ธฐ์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค."
8-11ํ.
"์. ์ฌ๊ธฐ์์ ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋๊ตฐ๊ฐ๊ฐ ์์ฑํ ํ์ค ๋ฃจํ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. downloder ๊ฐ์ฒด์๋ isDone() ๋ฉ์๋์ ์ํด ๋ฐํ๋๋ done ์์ฑ์ด ์์ต๋๋ค. ์ด ๋ฉ์๋๋ getDone(์ด ์๋๋ผ isDone()์ด๋ผ๊ณ ํฉ๋๋ค. ), done ๋ณ์๊ฐ ๋ถ์ธ ๋๋ ์๋ง๋ ๋ถ์ธ์ด๋ผ๋ ๊ฒฐ๋ก ์ ๋ด๋ฆฝ๋๋ค."
13-14ํ.
"๋ค์ด๋ก๋ ์ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด downloadPhoto ๋ฉ์๋๋ null์ ๋ฐํํฉ๋๋ค. ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ข์ต๋๋ค. null๋ง ๋ฐํํ๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค. ์ค๋ฅ๊ฐ ๋ฌด์์ธ์ง ๋ช ํํ์ง ์์ต๋๋ค. ๋ค์์ ๋ํ ์ ๋ณด์ ํจ๊ป ์์ธ๋ฅผ throwํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ค๋ฅ."
16ํ.
"๋ค์ด๋ก๋ํ ํ์ผ์ด ํฌํจ๋ ๋ก์ปฌ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ๋ฐํํฉ๋๋ค."
"์!"
"์ด ํ๋ก๊ทธ๋จ์ ์ฝ๋๋ ๊ทธ๊ฒ์ด ๋ฌด์์ ํ๋์ง ์ ๋์ ์ผ๋ก ๋ช ํํ๊ฒ ๋ง๋ญ๋๋ค. ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๊ณ ์ฐ๋ฆฌ๊ฐ ์ฐพ์ ๋ค๋ฅธ ํด๋์ค/๋ฉ์๋์ ๋ํด ์ถ์ธกํ ์๋ ์์ต๋๋ค."
"์ด์ ์ด๋ฆ์ด ์ผ๋ง๋ ์ค์ํ์ง ์ดํดํฉ๋๋ค."
"์ด๋ฆ์ ๋ํด ์์ธํ ์์๋ณด์ญ์์ค. ๊ฐ์ฒด/ํด๋์ค์ ์ด๋ค ๋ฉ์๋๊ฐ ์๋์ง ์ถ์ธกํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ฐ์ฒด๊ฐ ์ปฌ๋ ์ ์ธ ๊ฒฝ์ฐ ์์ ์๋ฅผ ๊ฐ์ ธ์ค๋ size() ๋๋ count() ๋ฉ์๋๊ฐ ์์ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค. ๋ํ , ์๋ง๋ add() ๋๋ insert() ๋ฉ์๋๊ฐ ์์ ๊ฒ์ ๋๋ค. ์์๋ get/getItem/getElement ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ปฌ๋ ์ ํด๋์ค์์ ๊ฒ์๋ฉ๋๋ค."
"๋ณ์๊ฐ i, j ๋๋ k๋ผ๊ณ ํ๋ฉด ๋ฃจํ ์นด์ดํฐ์ผ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค."
"๋ณ์๊ฐ m ๋๋ n์ด๋ฉด ๋ฐฐ์ด/์ปฌ๋ ์ ์ ํฌ๊ธฐ์ผ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค."
"๋ณ์๊ฐ ์ด๋ฆ์ด๋ผ๊ณ ํ๋ฉด ๋๊ตฐ๊ฐ์ ์ด๋ฆ์ ํฌํจํ๋ ๋ฌธ์์ด์ผ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค."
"ํด๋์ค๊ฐ FileInputStream์ธ ๊ฒฝ์ฐ ํ์ผ์ธ ๋์์ ์ ๋ ฅ ์คํธ๋ฆผ์ ๋๋ค."
"๋ ๋ง์ ์ฝ๋๋ฅผ ๋ณผ์๋ก ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ๋ ์ฝ๊ฒ ์ฝ์ ์ ์์ต๋๋ค."
"ํ์ง๋ง ๋๋๋ก ์ฝ๊ธฐ ๋งค์ฐ ์ด๋ ค์ด ์ฝ๋๊ฐ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋งค์ฐ ์ค์ฉ์ ์ธ ์กฐ์ธ์ด ์์ต๋๋ค."
ํ |
---|
๋น์ ์ด ์ฌ๋ ๊ณณ์ ์๋ ํญ๋ ฅ์ ์ธ ์ฌ์ด์ฝํจ์ค๊ฐ ๊ด๋ฆฌ ํ๋ ๊ฒ์ฒ๋ผ ์ฝ๋๋ฅผ ์์ฑํ์ธ์ . |
"๊ทธ๊ฒ์ ์ฌ๋ฏธ์์ผ๋ฉด์๋ ๋์์ ์๊ธฐ์ง ์์ต๋๋ค."
"์ด์ ๋ณ์ ์ด๋ฆ ์ง์ ์ ์ฌ์ฉ๋๋ ์คํ์ผ์ ๋ํด ์กฐ๊ธ ์์๋ณด๊ฒ ์ต๋๋ค."
"Java ๊ฐ๋ฐ์๋ ๋ณ์์ ๋ฉ์๋์ ๋งค์ฐ ์ ์ฉํ ์ด๋ฆ์ ์ง์ ํ๋ ค๊ณ ํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋ฆ์ ์ข ์ข ์ฌ๋ฌ ๋จ์ด๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ณตํฉ ์ด๋ฆ์ ๋๋ฌธ์ ํ์์๋ 4๊ฐ์ง ์คํ์ผ์ด ์์ต๋๋ค."
1) ์๋ฌธ์ โ ๋ชจ๋ ๋จ์ด๋ ์๋ฌธ์๋ก ์ด๋ค. ์๋ฅผ ๋ค์ด:
'์จ์ค'์ '์จ์ค'์ด ๋ฉ๋๋ค
'ํ ๋ฆฌ์ฐ๋ ๊ฑธ'์ 'ํ ๋ฆฌ์ฐ๋ ๊ฑธ' ์ด ๋๋ค
์ด ์คํ์ผ์ ํจํค์ง ์ด๋ฆ์ ์ฌ์ฉ๋ฉ๋๋ค.
2) ๋๋ฌธ์ โ ๋ชจ๋ ๋จ์ด๋ ๋๋ฌธ์๋ก ์์ฑ๋๊ณ ๋ฐ์ค๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด:
'์ต๋๊ฐ'์ด MAX_VALUE ๊ฐ ๋จ
'๊ณ ์์ด ์'๋ CAT_COUNT ๊ฐ ๋ฉ๋๋ค.
"์ด ์คํ์ผ์ ์์(์ต์ข ์ ์ ํ๋)์ ์ด๋ฆ์ ์ฌ์ฉ๋ฉ๋๋ค."
3) CamelCase โ ๊ฐ ๋จ์ด์ ์ฒซ ๊ธ์๊ฐ ๋๋ฌธ์์ธ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ชจ๋ ๋จ์ด๋ ์๋ฌธ์๋ก ์์ฑ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด:
'์จ์ค'์ '์จ์ค' ์ด ๋ฉ๋๋ค
'ํ ๋ฆฌ์ฐ๋ ๊ฑธ'์ 'ํ ๋ฆฌ์ฐ๋ ๊ฑธ' ์ด ๋๋ค
์ด ์คํ์ผ์ ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค์ ์ด๋ฆ์ ์ฌ์ฉ๋ฉ๋๋ค.
4) Lower CamelCase (ํผํฉ ์ผ์ด์ค) โ ๋ชจ๋ ๋จ์ด๋ ์๋ฌธ์๋ก ์์ฑ๋๋ฉฐ, ๊ฐ ๋จ์ด์ ์ฒซ ๊ธ์๋ ๋๋ฌธ์๋ก ์ ์ธ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด:
'๋๋น ๊ฐ์ ธ์ค๊ธฐ' ๋ 'getWidth' ๊ฐ ๋ฉ๋๋ค
'Get Hollywood girl name' ์ 'getHollywoodGirlName' ์ด ๋ฉ๋๋ค
"์ด ์คํ์ผ์ ๋ณ์ ๋ฐ ๋ฉ์๋์ ์ด๋ฆ์ ์ฌ์ฉ๋ฉ๋๋ค."
"๊ทธ๋์ ๊ท์น์ด ๋๋ฌด ๋ง์ง ์์ต๋๋ค."
1) ๋ชจ๋ ๊ฒ์ Lower CamelCase๋ก ์์ฑ๋ฉ๋๋ค.
2) ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค์ ์ด๋ฆ์ ํญ์ ๋๋ฌธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
3) ํจํค์ง ์ด๋ฆ์ ํญ์ ์๋ฌธ์์ ๋๋ค.
4) ์์๋ ํญ์ ๋๋ฌธ์์ ๋๋ค.
"๋ช ๊ฐ์ง ๋์์ค๊ฐ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๊ฒ ์ ๋ถ์ ๋๋ค."
"์ด์ ๋ฐฉ๋ฒ์ ๋ํด. "๋ฐฉ๋ฒ ์ด๋ฆ์ ๊ฑฐ์ ํญ์ ๋์ฌ๋ก ์์ํฉ๋๋ค! 'count'๋ ๋ฉ์๋์ ๋์ ์ด๋ฆ์ ๋๋ค. getCount()๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ฉ์๋๋ ๊ฐ์ฒด์ ๋ํด ๋ช ๊ฐ์ง ์์ ์ ์ํํฉ๋๋ค: startDownload , interrupt , sleep , loadPirateMusic ."
"์ด๋ฏธ ์๊ณ ์๋ฏ์ด ๊ฐ์ฒด์ ์์ฑ/ํ๋ ์์ ์ ์ํ getter ๋ฐ setter๊ฐ ์์ต๋๋ค: getName / setName , getCount / setCount ๋ฑ."
"์ ์ผํ ์์ธ๋ ๋ถ์ธ์ ๋๋ค. ๋ถ์ธ์ ๊ฒฝ์ฐ getter ์ด๋ฆ์ 'get'์ด ์๋๋ผ 'is'๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด isDone, isEmpty์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ผ๋ฐ ์์ฑ์ ๋ ๊ฐ๊น์ต๋๋ค."
"ํ๋ฃจ 8์๊ฐ ๋์ 2์๊ฐ ์ผํ๋ ๊ฑด ์ด๋? ์ ํน?"
"์!"
"๊ทธ๋ ๊ฒ ํด์ผ ํฉ๋๋ค. ์ฃผ๋์ด Java ๊ฐ๋ฐ์์ ๊ธฐ๋ณธ ์๊ตฌ ์ฌํญ์ Java, ์ฆ Java Core์ ๊ธฐ๋ณธ ์ฌํญ์ ๋ํ ํ์ํ ์ดํด์ ๋๋ค."
"๋ ๋ค๋ฅธ ์ง๋ฌธ์ด ์์ต๋๋ค. ์์ ์๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐ ์ด๋ ๊ฒ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?"
์์ | ์์ ์๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํ ๋ฉ์๋/์์ฑ |
---|---|
๋ | ๊ธธ์ด () |
์ ๋ ฌ | ๊ธธ์ด |
๋ฐฐ์ด๋ชฉ๋ก | ํฌ๊ธฐ () |
์ค๋ ๋ ๊ทธ๋ฃน | ํ์ฑ ์นด์ดํธ () |
"์ฐ์ , Java๋ setCount / getCount ์ ๊ฐ์ ์๊ตฌ ์ฌํญ ์ด ํ๋ฆฝ๋๊ธฐ ์ ์ธ 20๋ ์ด์ ์ ์ ๋ฐ๋ช ๋์์ผ๋ฉฐ C ์ธ์ด์์ '๊ฐ๋ฅํ ํ ์งง๊ฒ ๋ง๋ค๊ธฐ'๋ผ๋ ์ผ๋ฐ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ด ์์์ต๋๋ค."
"๋ ๋ฒ์งธ๋ก ์ฌ๊ธฐ์ ์๋ฏธ๋ก ์ด ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ๋ฐฐ์ด์ ๋ํด ์ด์ผ๊ธฐํ ๋ ์ฐ๋ฆฌ๋ ๋ฐฐ์ด์ ๊ธธ์ด์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค. ์ปฌ๋ ์ ์ ๋ํด ์ด์ผ๊ธฐํ ๋ ์ฐ๋ฆฌ๋ ํฌ๊ธฐ์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค."
"์ฌ๋ฏธ์๋ ์์ ์ด๊ตฐ์."
"์์ธํ ๋ง์๋๋ฆฌ๊ณ ์ถ์๋ฐ ํ๋ฒ์ ๋ค ๊ธฐ์ต๋์ง ์์ผ์ค๊น๋ด ๊ฑฑ์ ์ ๋๋ค. ์กฐ๊ธ์ฉ ๋๋ ์ ๋๋ฆฌ๋๊ฒ ๋ซ์ต๋๋ค."
"ํ์ง๋ง ์ค๊ดํธ ์ฌ์ฉ๊ณผ ๊ด๋ จ๋ ์คํ์ผ์ ๋ค๋ฃจ๊ณ ์ถ์ต๋๋ค: {}. ๋ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค."
1) ๊ดํธ๋ ๋งค๋ฒ ์๋ก์ด ์ค๋ก ์ด๋ํฉ๋๋ค.
2) ์ฌ๋ ๊ดํธ๋ ์ด์ ์ค์ ๋์ผ๋ก ๊ฐ๊ณ ๋ซ๋ ๊ดํธ๋ ์ ์ค๋ก ๊ฐ๋๋ค. ์ด ์คํ์ผ์ '์ด์งํธ ๊ต์ ๊ธฐ'๋ผ๊ณ ํฉ๋๋ค.
"์์งํ ์ฝ๋ฉ ๋ฐฉ๋ฒ์ ์ ํํด์ผ ํฉ๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ๊ฐ์ ์ค์ ์ฌ๋ ์ค๊ดํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ์ ์ค์ ๋ฃ์ต๋๋ค. ๊ณ๋์ ์ด๋ ์ชฝ ๋์ ๊นจ๋จ๋ฆด ๊ฒ์ธ์ง์ ๋ํ ๋ ผ์๊ณผ ๊ฐ์ต๋๋ค: ์์ ๋ ๋๋ ํฐ ๋ ๋."
"๋ด๊ฐ ์ถ์ฒํ ์ ์๋ ์ ์ผํ ๊ฒ์ ์์ ์ค์ธ ํ๋ก์ ํธ์์ ์ฌ์ฉ ์ค์ธ ์คํ์ผ์ ๊ณ ์ํ๋ ๊ฒ์ ๋๋ค. ์ ํธํ๋ ์คํ์ผ์ ๋ง๊ฒ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ๋ง์ญ์์ค. ์ฌ๋๋ค์ ๋ถ์์ ํฉ๋๋ค. ์ด๊ฒ์ Bilaabo ๋ฐ์ฌ์๊ฒ ๋งํ๊ณ ์์ต๋๋ค. "
"ํฅ๋ฏธ๋ก์ด ์์ ๊ฐ์ฌํฉ๋๋ค, Bilaabo. ๋น์ ์ด ๋งํ ๊ฒ์ ๋ฐ์ฑํ๋ฌ ๊ฐ๊ฒ ์ต๋๋ค."
GO TO FULL VERSION