์‹ค์ œ๋กœ ์ผ์–ด๋‚˜๋Š” ์ผ(์˜ˆ: ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํด๋ž˜์Šค์—์„œ ์ƒ์„ฑํ•˜๋Š” ์ผ) - 1

"์•ˆ๋…•ํ•˜์„ธ์š”, ์•„๋ฏธ๊ณ ! ์—ฌ๊ธฐ ๋‹น์‹ ์„ ์œ„ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค."

"์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์‹ค์ œ๋กœ ๋ชจ๋“  ์ต๋ช… ํด๋ž˜์Šค๋ฅผ ์ผ๋ฐ˜ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค๊ณ  ์ด๋ฏธ ๋ง์”€๋“œ๋ ธ์Šต๋‹ˆ๋‹ค."

"๋„ค. ๊ทธ๋“ค์˜ ์ด๋ฆ„์ด 1, 2, 3 ๋“ฑ์˜ ์ˆซ์ž๋ผ๋Š” ๊ฒƒ๋„ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค."

"๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์—๋Š” ๋˜ ๋‹ค๋ฅธ ๋‰˜์•™์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค."

"ํด๋ž˜์Šค๊ฐ€ ๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ ์„ ์–ธ๋˜๊ณ  ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ์ƒ์„ฑ๋œ ํด๋ž˜์Šค์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค."

"์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:"

์ปดํŒŒ์ผํ•˜๊ธฐ ์ „์—:
class Car
{
 public ArrayList createPoliceCars(int count)
 {
  ArrayList result = new ArrayList();

  for(int i = 0; i < count; i++)
  {
 final int number = i;
   result.add(new Car()
    {
     public String toString()
     {
      return ""+number;
     }
    });
  }
  return result;
 }
}

"๊ทธ๋ฆฌ๊ณ  ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋‹ค์Œ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ปดํŒŒ์ผ ํ›„:
class Car
{
 public ArrayList createPoliceCars(int count)
 {
  ArrayList result = new ArrayList();

  for(int i = 0; i < count; i++)
  {
   final int number = i;
   result.add(new Anonymous2 (number));
  }
   return result;
  }

 class Anonymous2
 {
  final int number;
  Anonymous2(int number)
 {
  this.number = number;
 }

  public String toString()
  {
   return ""+ number;
  }
 }
}

"์š”์ ์„ ์ดํ•ดํ•˜์…จ์Šต๋‹ˆ๊นŒ? ๋‚ด๋ถ€ ํด๋ž˜์Šค์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ๋•Œ์ฏค์ด๋ฉด ๋‚ด๋ถ€ ํด๋ž˜์Šค๋Š” ๋ฉ”์„œ๋“œ์˜ ๋กœ์ปฌ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋ชจ๋‘ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

"์ด์ œ ๋‘ ๋ฒˆ์งธ ์š”์ ์ž…๋‹ˆ๋‹ค. toString() ๋ฉ”์„œ๋“œ๋Š” ์ „๋‹ฌ๋œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค."

A) ์ƒ์„ฑ๋œ ํด๋ž˜์Šค ์•ˆ์— ์ €์žฅ

B) ์ƒ์„ฑ์ž์— ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.

"์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ํด๋ž˜์Šค๋Š” ํ•ญ์ƒ ๋ณ€์ˆ˜์˜ ๋ณต์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค."

"์ •ํ™•ํžˆ!"

"๊ทธ๋Ÿฌ๋ฉด ๋ณ€์ˆ˜๊ฐ€ ์ตœ์ข… ๋ณ€์ˆ˜์—ฌ์•ผ ํ•˜๋Š” ์ด์œ ๊ฐ€ ์ดํ•ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณ€์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์‹ค์ œ๋กœ ์›๋ณธ์ด ์•„๋‹Œ ๋ณต์‚ฌ๋ณธ์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฐ€ ๊ทธ๊ฒƒ๋“ค์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ ๊ธˆ์ง€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค."

"๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์ตœ์ข…์œผ๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋ฉ”์„œ๋“œ์˜ ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋Œ€๊ฐ€๋กœ ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š” ์ž‘์€ ๋Œ€๊ฐ€์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค."

"๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ต๋ช…์˜ ๋กœ์ปฌ ํด๋ž˜์Šค๋Š” ์—ฌ์ „ํžˆ ๋งค์šฐ ๋ฉ‹์ง‘๋‹ˆ๋‹ค."

"๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ ๋กœ์ปฌ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๊ณ  ๊ทธ ์•ˆ์— ์žˆ๋Š” ๋ฉ”์†Œ๋“œ์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํด๋ž˜์Šค์—๋„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๊นŒ?"

"์˜ˆ, ํด๋ž˜์Šค์™€ ํ•ด๋‹น ์ƒ์„ฑ์ž์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค."

"๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ์ƒ๊ฐํ–ˆ๋˜ ๊ฑฐ์ฃ ."