๋กœ์ปฌ ํด๋ž˜์Šค: ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์˜ ํด๋ž˜์Šค - 1

"์•ˆ๋…•, ์•„๋ฏธ๊ณ !"

"๋˜ ๋‹ค๋ฅธ ์ž‘์€ ์ฃผ์ œ๋Š” ์ง€์—ญ ์ˆ˜์—… ์ž…๋‹ˆ๋‹ค ."

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

"ํ™”๋ฉด์„ ๋ด:"

์˜ˆ
class Car
{
 public ArrayListcreatePoliceCars(int count)
 {
  ArrayList result = new ArrayList();

  class PoliceCar extends Car
  {
   int policeNumber;
   PoliceCar(int policeNumber)
  {
   this.policeNumber = policeNumber;
  }
 }

 for(int i = 0; i < count; i++)
     result.add(new PoliceCar(i));
  return result;
 }
}

"์™œ ๊ทธ๋Ÿฐ ์ˆ˜์—…์ด ํ•„์š”ํ•œ๊ฐ€์š”?"

"๋ชจ๋“  ์ƒ์„ฑ์ž์™€ ๋ฉ”์„œ๋“œ๊ฐ€ ํฌํ•จ๋œ ํด๋ž˜์Šค๋ฅผ ๋ฉ”์„œ๋“œ ์•ˆ์— ๋„ฃ๋Š” ๊ฒƒ์€ ์ฝ”๋“œ๋ฅผ ๋งค์šฐ ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๊นŒ?"

"๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋‹น์‹  ๋ง์ด ์ ˆ๋Œ€์ ์œผ๋กœ ์˜ณ์Šต๋‹ˆ๋‹ค."

"๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ์ต๋ช…์˜ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ํด๋ž˜์Šค์—๋Š” ํ•œ ๊ฐ€์ง€ ์ž‘์€ ์ด์ ์ด ์žˆ์œผ๋ฏ€๋กœ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค."

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

class Car
{
 public ArrayListcreatePoliceCars(int count)
 {
  ArrayList result = new ArrayList();

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

"ํ•˜์ง€๋งŒ ํ•œ ๊ฐ€์ง€ ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ยซ์ฝ๊ธฐ ์ „์šฉยป์ด๋ฏ€๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค."

"์ œํ•œ ์‚ฌํ•ญ์ด ์กด์žฌํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค."

"๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ์„ ์–ธ๋œ ํด๋ž˜์Šค๋Š” final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ๋œ ๋ฉ”์†Œ๋“œ์˜ ๋ณ€์ˆ˜์—๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์—์„œ i ๊ฐ’์„ policeNumber์— ์ฆ‰์‹œ ํ• ๋‹นํ•  ์ˆ˜ ์—†์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋จผ์ € ๊ทธ๊ฒƒ์„ ์ตœ์ข… ๋ณ€์ˆ˜ ๋ฒˆํ˜ธ."

"๋ฉ”์„œ๋“œ์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ •๋ง ๋ฉ‹์ง„ ์ผ์ž…๋‹ˆ๋‹ค. ์ œ๋Œ€๋กœ ๊ฐ์‚ฌํ–ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ์•ˆํƒ€๊น์Šต๋‹ˆ๋‹ค."

"์˜ค๋Š˜ ์—˜๋ฆฌ๊ฐ€ ๋‹น์‹ ์ด ๊ทธ๊ฒƒ๋“ค์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ์ €๋Š” ํ•œ ์‹œ๊ฐ„ ์ •๋„ ๋‚ฎ์ž ์„ ์ž๋Ÿฌ ๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค."

"์ž˜์ž, ํ‚ด. ์žฌ๋ฏธ์žˆ๋Š” ์ˆ˜์—… ๊ณ ๋งˆ์›Œ."