"์•ˆ๋…•, ์•„๋ฏธ๊ณ ! ์˜ค๋Š˜์€ ์ฝ”๋“œ ์Šคํƒ€์ผ๊ณผ ์ฝ”๋“œ ์Šคํƒ€์ผ์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด ์•Œ๋ ค์ค„๊ฒŒ."

"๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.  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. ๋‹น์‹ ์ด ๋งํ•œ ๊ฒƒ์„ ๋ฐ˜์„ฑํ•˜๋Ÿฌ ๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค."