์ƒˆ์†Œ์‹

Java

[Java] 08. ๋ฐฐ์—ด

  • -

๋น„์Šทํ•œ ๊ฒƒ๋“ค๋ผ๋ฆฌ ๋ฌถ์–ด๋‘๋ฉด ๊ด€๋ฆฌํ•˜๊ธฐ ํŽธํ•ฉ๋‹ˆ๋‹ค.

์ผ์ƒ ์ƒํ™œ์—์„œ๋„ ๋น„์Šทํ•œ ๊ฒƒ๋“ค๋ผ๋ฆฌ ๋ฌถ์–ด๋‘๋ฉด ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฝ๊ณ , ํ•„์š”ํ•  ๋•Œ ๋‚ด์šฉ์„ ์ฐพ๊ธฐ๋„ ์‰ฝ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋„ ๊ฐ™์€ ์ž๋ฃŒํ˜•๋ผ๋ฆฌ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฐ์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์„ ํ†ตํ•ด ๊ฐ ๋‚ด์šฉ๋“ค์„ ๋ชจ์œผ๊ณ  ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๊ณ  ๋ฌถ์–ด์„œ ๊ด€๋ จ๋œ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์—์„œ์˜ ๋ฐฐ์—ด์„ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•๊ณผ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์˜ 1์ฐจ์› ๋ฐฐ์—ด์€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃฌ์ง€ ๋น„๊ตํ•ด๋ณด๊ณ , ์—ฌ๋Ÿฌ ๋ฐฐ์—ด๋“ค์ด ๋ชจ์—ฌ ๋งŒ๋“ค์–ด์ง„ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋”๋ถˆ์–ด ๊ฐ ๋ฐฐ์—ด์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‚˜ ํ•จ์ˆ˜์— ๋ฐฐ์—ด์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ผ์„ ๋•Œ ์ฐจ์ด์ ๋„ ๋ฐฐ์›Œ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ“š 1. JAVA ๋ฐฐ์—ด ์‚ฌ์šฉ์‹œ ์œ ์˜์ 

 

  • ๋ฐฐ์—ด์€ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋ฐ˜๋ณต์  ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„ํ•ด์•ผํ•จ
  • ๋ฐฐ์—ด + ๋ฐ˜๋ณต๋ฌธ์„ ์„ธํŠธ๋กœ ์ƒ๊ฐํ•  ๊ฒƒ
  • ์ž๋ฐ”์˜ ๋ฐฐ์—ด์€ ์ฐธ์กฐ ์ž๋ฃŒํ˜•
    *  ์ฐธ์กฐ ๋ณ€์ˆ˜ ์„ ์–ธ ํ›„ ๋ฐฐ์—ด ๊ฐ์ฒผ๋ฅด ๋™์ ์œผ๋กœ ์ƒ์„ฑ์— ํ• ๋‹นํ•จ
  • ๊ฐ์ฒดํ˜• ๋ฐฐ์—ด์€ ์ฐธ์กฐ ๋ณ€์ˆ˜๋“ค์˜ ์ง‘ํ•ฉ
    *  ๋ฐฐ์—ด ํ• ๋‹น ํ›„ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ ํƒ€์ž…์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ์ฒด ํ• ๋‹น์ด ํ•„์š”ํ•จ
    *  C์–ธ์–ด ํฌ์ธํ„ฐ์˜ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ข‹์Œ

๐Ÿ“š 2. 1์ฐจ์› ๋ฐฐ์—ด์˜ ์„ ์–ธ

 

  • ๋ฐฐ์—ด ์„ ์–ธ๋งŒ์œผ๋กœ๋Š” ์‹ค์ œ ๋ฐฐ์—ด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์ง€๋Š” ์•Š๊ณ  ๋‹จ์ง€ ์ฐธ์กฐ๋ณ€์ˆ˜๋งŒ ์ƒ์„ฑ๋จ
* elementType[ ] arrayName;
* elementType arrayName[ ];
elementType: ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ ํƒ€์ž…  / arrayName: ๋ฐฐ์—ด๋กœ ์„ ์–ธ๋˜๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„

1์ฐจ์› ๋ฐฐ์—ด์€ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐฐ์—ด์ž„์„ ๋ช…ํ™•ํžˆ ๋ฐํžˆ๊ธฐ ์œ„ํ•˜์—ฌ ์ž๋ฃŒํ˜• ๋’ค์— [ ]๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์ด ๋” ์„ ํ˜ธ๋ฉ๋‹ˆ๋‹ค.


๐Ÿ“š 3. 1์ฐจ์› ๋ฐฐ์—ด์˜ ์ƒ์„ฑ

 

(1) 1์ฐจ์› ๋ฐฐ์—ด์˜ ์ƒ์„ฑ

  • new ์—ฐ์‚ฐ์ž์˜ ์‚ฌ์šฉ์œผ๋กœ ๋ฐฐ์—ด ๊ฐ์ฒด๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ƒ์„ฑ
  • ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋“ค์„ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น
  • JVM์ด ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋ฐฐ์—ด ์ด๋ฆ„์— ์ €์žฅํ•จ (๋ฉ”๋ชจ๋ฆฌ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ id(์ฐธ์กฐ๊ฐ’))
arrayName = new elementType[size];
size : ๋ฐฐ์—ด ์š”์†Œ ๊ฐœ์ˆ˜, ๋ฐฐ์—ด์˜ ํ• ๋‹น ํฌ๊ธฐ

 

(2) ๋ฐฐ์—ด ์„ ์–ธ์˜ ์˜ˆ

  • new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๋™์  ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น
  • ํŠน์ • ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด ์•„๋‹Œ JVM์ด ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณ„์‚ฐ์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๋Š” ์ฐธ์กฐ๊ฐ’์— ๋„ฃ์Œ
  • intํ˜• ์ž๋ฃŒ 5๊ฐœ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ์Œ
  • ๋ฐฐ์—ด์˜ ์ด๋ฆ„์ธ list๋Š” ๋ฐฐ์—ด์˜ ์‹œ์ž‘์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ด
double[] costs = new double[100]; // ๊ธฐ๋ณธ์ž๋ฃŒํ˜•(double) ๋ฐฐ์—ด

boolean flags[];
flags = new boolean[20]; //์„ ์–ธ ํ›„ ๋ฐฐ์—ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ

String[] names = new String[10]; // Stirng ํด๋ž˜์Šค๋กœ ๋งŒ๋“œ๋Š” ๋ฐฐ์—ด

๐Ÿ“š 4. ๋ฐฐ์—ด ์š”์†Œ์˜ ์„ ํƒ

 

  • ๋ฐฐ์—ด์˜ ํŠน์ •์š”์†Œ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ณผ์ •์ด ๋ฐฐ์—ด์˜ ์š”์†Œ ์„ ํƒ(selection)
  • ๋™์  ํ• ๋‹น๋œ ๊ฐ’์„ ์„ ํƒ
arrayName[ indexNumber ]

๋ฐฐ์—ด์˜ ์„ ํƒ์‹(selection expression)์„ ํ†ตํ•ด ์ผ๋ฐ˜ ๋‹จ์ˆœ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์กฐ์ž‘ ๊ฐ€๋Šฅ


๐Ÿ“š 5. ๋ฐฐ์—ด์˜ ์ฒจ์ž

 

  • ๋ฐฐ์—ด์˜ ์š”์†Œ๋Š” ์ฒจ์ž(index)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฐธ์กฐ
  •  0๋ถ€ํ„ฐ (๋ฐฐ์—ด์˜  ํ• ๋‹นํฌ๊ธฐ  - 1)๊นŒ์ง€ ์œ ํšจํ•œ ๋ฐฐ์—ด์˜ ์ฒจ์ž ๋ฒ”์œ„๋กœ ์ง€์ •๋จ
  • ์ด๋ฅผ ๋ฒ—์–ด๋‚œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰ ์‹œ ArrayIndexOutOfBoundsException ์˜ˆ์™ธ ๋ฐœ์ƒ

 

arrayName.length
  • ๋ฐฐ์—ด์˜ ํ• ๋‹น ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ
  • ๋ฐฐ์—ด ์—ญ์‹œ ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— length๊ฐ€ ์ œ๊ณต๋จ
  • ๋ฐฐ์—ด์˜ ์œ ํšจ ๋ฒ”์œ„๋Š” (0 ~ ๋ฐฐ์—ด.length - 1)๋กœ ํ‘œํ˜„๋จ

๐Ÿ“š 6. ๋ฐฐ์—ด ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”

 

  • ๋ฐฐ์—ด ์„ ์–ธ๋ฌธ์— ์ค‘๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ดˆ๊ธฐ๊ฐ’์„ ํ• ๋‹น
  • ์ดˆ๊ธฐ๊ฐ’ ๊ฐœ์ˆ˜์™€ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์ด ์ƒ์„ฑ
  • ๊ฐ ์š”์†Œ๋“ค์€ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ๋จ


๐Ÿ“š 1. ๊ฐ์ฒด(์ฐธ์กฐํ˜•) ๋ฐฐ์—ด

 

  • ๊ฐ์ฒด๋“ค์— ๋Œ€ํ•œ ์ฐธ์กฐ ๋ณ€์ˆ˜๋“ค์„ ๋ฐฐ์—ด ์š”์†Œ๋กœ ๊ฐ€์ง
  • ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋Š” null์„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ๊ฐ€์ง
  • ๋ฐฐ์—ด ์š”์†Œ์ธ ์ฐธ์กฐ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋  ๊ฐ ๊ฐ์ฒด๋“ค์€ ๋ฐ˜๋“œ์‹œ ๋ณ„๋„๋กœ ์ƒ์„ฑํ•ด์•ผํ•จ
Circle[] circles = new Circle[5]; // ๊ฐ ์š”์†Œ๋Š” ์•„์ง null ๊ฐ’์„ ๊ฐ€์ง

// ๊ฐ ์š”์†Œ๋ณ„๋กœ ๋ณ„๋„์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•จ
Circles[0] = new Circle();
Circles[1] = new Circle(2);
Circles[2] = new Circle(3);
Circles[3] = new Circle(4);
Circles[4] = new Circle(5);

// ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๊ฐ ์š”์†Œ์— ์ ‘๊ทผ
for(int i = 0; i < circles.length; i++) {
	system.out.println(circles[i].radius);
}

๐Ÿ“š 2. ๊ฐ์ฒด ๋ฐฐ์—ด์˜ ์ƒ์„ฑ

 

  1. ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ
  2. new ์—ฐ์‚ฐ์ž๋กœ ๊ฐ์ฒด ๋ฐฐ์—ด์„ ํ• ๋‹น
    *  ๊ฐ ์š”์†Œ(ํ• ๋‹น๋œ ๊ณต๊ฐ„)์€ ๊ฐ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜
  3. new ์—ฐ์‚ฐ์ž์™€ ์ ์ ˆํ•œ ์ƒ์„ฑ์ž ํ˜ธ์ถœ๋กœ ๊ฐ ์š”์†Œ(์ฐธ์กฐ๋ณ€์ˆ˜)๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด๋ฅผ ํ• ๋‹น
Circle[] circles; // 1๋‹จ๊ณ„
circles = new Circle[5]; // 2๋‹จ๊ณ„
circles[0] = new Circle(); // 3๋‹จ๊ณ„

๐Ÿ“š 3. ๊ฐ์ฒด(์ฐธ์กฐํ˜•) ๋ฐฐ์—ด์˜ ์˜ˆ1: Circle

 

 

  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• ๋ฐฐ์—ด์€ ๊ฐ์ฒด ์š”์†Œ์— ๊ฐ’์„ ์ง€์ •ํ–ˆ์ง€๋งŒ, ์ฐธ์กฐ ์ž๋ฃŒํ˜• ๋ฐฐ์—ด์€ ์ฐธ์กฐ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ด
  • ๊ฐ ์š”์†Œ๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ ๋ณ€์ˆ˜์ผ๋ฟ ์‹ค์ œ ๊ฐ์ฒด๋Š” ์•„๋‹˜

๐Ÿ“š 4. ๊ฐ์ฒด ๋ฐฐ์—ด์˜ ์˜ˆ2: String

 

 

  • ์•”์‹œ์  ์ƒ์„ฑ์ด๋‚˜ ๋ช…์‹œ์  ์ƒ์„ฑ๊ณผ ๊ด€๊ณ„์—†์ด ๋‚ด๋ถ€ ๊ตฌ์กฐ๋Š” ๋ฌธ์ž์—ด ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ๊ฐ’์œผ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด์ด ์ƒ์„ฑ๋จ
  • ๊ฐ ์š”์†Œ์— ๋ฌธ์ž์—ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋„ฃ์„ ์ˆ˜ ์žˆ์Œ
  • ์ฐธ์กฐ์ž๋ฃŒํ˜• ๋ฐฐ์—ด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด ์š”์†Œ ์ž์ฒด์— ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์€ ์•„๋‹˜

๐Ÿ“š 5. 1์ฐจ์› ๋ฐฐ์—ด์˜ ์š”์†Œ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

 

  • ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” for ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•จ
  • ์ธ๋ฑ์Šค ๋ณ€์ˆ˜์˜ ๋ณ€ํ™” ๋ฒ”์œ„๋กœ ์ ‘๊ทผํ•  ์š”์†Œ๋“ค์˜ ์œ ํšจํ•œ ์ฒจ์ž๊ฐ’์„ ๋‚˜ํƒœ๋‹˜
  • ์ธ๋ฑ์Šค ๋ณ€์ˆ˜์˜ ๊ฐ’ = ์ ‘๊ทผํ•  ๋ฐฐ์—ด์˜ ์ฒจ์ž ๋ฒˆํ˜ธ
int i;
for (i = 0; i < array.length; i++) {
    array[i] = ~~;
}

๐Ÿ“š 6. for each ๋ฃจํ”„

 

for each (Type var) in {array}
  • ๋ฐฐ์—ด์˜ ์ฒซ ์š”์†Œ๋ถ€ํ„ฐ ๋ ์š”์†Œ๊นŒ์ง€ ์ˆœ์ฐจ ์ ์œผ๋กœ ์ ‘๊ทผ์‹œ ์‚ฌ์šฉํ•˜๋Š” JDK5 ์ดํ›„ ๋ฐ˜๋ณต๋ฌธ
  • array๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๋ฐฐ์—ด ์š”์†Œ๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ณ€์ˆ˜ var์— ์ „๋‹ฌํ•˜๋ฉด์„œ ์ฒ˜๋ฆฌ
  • index ๋ณ€์ˆ˜๋ฅผ ๋”ฐ๋กœ ์ง€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Œ
  • ๋‹จ ํŠน์ • ์š”์†Œ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ์ž‘์—…์„ ํ•  ์ˆ˜๋Š” ์—†์Œ
String[] arr = {"์ฒ ์ˆ˜", "์˜ํฌ", "๋ฏผ์ˆ˜"};

for(Stirng s : arr)
	System.out.println(s);

๐Ÿ“š 1. ๋ฐฐ์—ด์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ

 

(1) ๋ฐฐ์—ด์„ ๋ฉ”์„œ๋“œ์˜ ์‹ค์ธ์ˆ˜๋กœ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉ

  • ๋ฐฐ์—ด์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ๋„˜๊น€, ๋ฐฐ์—ด ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’์ด ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋จ
  • ๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ๋ฐฐ์—ด ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’
  • ๋ฐฐ์—ด์ด ์ธ์ˆ˜์—ฌ๋„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ’์ด ๋ณต์‚ฌ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ฐธ์กฐ๊ฐ’์ด ๋ณต์‚ฌ๋˜๋Š” ๊ฒƒ
  • ๋ฐฐ์—ด์˜ ์œ ํšจํฌ๊ธฐ๋ฅผ .length๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฐ์—ด๊ณผ ํ•จ๊ป˜ ์ „๋‹ฌ

 

(2) ๋ฐฐ์—ด์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์„ ๋•Œ

  • ์ธ์ˆ˜์™€ ๊ฐ™์€ ์š”์†Œ ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜ ์„ ์–ธ
  • ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์‹ค์ธ์ˆ˜์— ์ฐธ์กฐ ๊ฐ€๋Šฅ
  • ๋งค์„œ๋“œ ์•ˆ์—์„œ ์‹ค์ธ์ˆ˜ ๊ฐ’์„ ๋ณ€๊ฒฌํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ฐฐ์—ด์˜ ์œ ํšจํฌ๊ธฐ๋ฅผ .length๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฐ์—ด์˜ ํ• ๋‹น ํฌ๊ธฐ ์ ‘๊ทผ ๊ฐ€๋Šฅ

๐Ÿ“š 2. ๋ฉ”์„œ๋“œ์˜ ๋ฐฐ์—ด ๋ฐ˜ํ™˜

 

  • ๋ฐฐ์—ด์˜ ์ฐธ์กฐ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ ์š”์†Œ๊ฐ’์„ ๋ณต์‚ฌํ•ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹˜
  • ๊ฐ ์š”์†Œ์˜ ์‹ค์ธ์ˆ˜ ์˜์—ญ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ
  • ๋ฉ”์„œ๋“œ์˜ ๋ฐ˜ํ™˜ ์ž๋ฃŒํ˜•์€ ๋ฐ˜ํ™˜ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐฐ์—ด์˜ ์š”์†Œ ํƒ€์ž…๊ณผ ์ผ์น˜ํ•ด์•ผํ•จ


๐Ÿ“š 1. ๋‹ค์ฐจ์› ๋ฐฐ์—ด(Multidimenstional Arrays)

 

  • ๋ฐฐ์—ด ์š”์†Œ ์ž์ฒด๊ฐ€ ๋˜ ๋‹ค๋ฅธ ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ๋ฅผ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์ด๋ผ๊ณ  ํ•จ
  • n์ฐจ์› ๋ฐฐ์—ด์€ n-1์ฐจ์› ๋ฐฐ์—ด์ด ๋ชจ์ธ ๊ฒƒ
  • n์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•˜์—ฌ n๊ฐœ์˜ ์ฒจ์ž๊ฐ€ ํ•„์š”ํ•จ

 

1์ฐจ์› ๋ฐฐ์—ด์˜ ๋ฌถ์Œ์ธ 2์ฐจ์› ๋ฐฐ์—ด

  • 1์ฐจ์› ๋ฐฐ์—ด์€ ๋‹จ์ˆœ ๋ณ€์ˆ˜๋ฅผ ํ•œ ๋ฉ์–ด๋ฆฌ๋กœ ๋ฌถ์€ ๊ฒƒ
  • 1์ฐจ์› ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ๋ฌถ์€ ๊ทธ๋ฃน์ด 2์ฐจ์› ๋ฐฐ์—ด

๐Ÿ“š 2. ๊ณ ์ •์ /๊ฐ€๋ณ€์  ๊ธธ์ด์˜ 2์ฐจ์› ๋ฐฐ์—ด์˜ ์˜ˆ์‹œ

 

(1) ๊ณ ์ •์  ๊ธธ์ด์˜ 2์ฐจ์› ๋ฐฐ์—ด ์˜ˆ

 

  • [ ] [ ] ๋‘ ๊ฐœ๋กœ ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•จ
  • [ 1์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜ ] [ ๋ฐฐ์—ด์˜ ์š”์†Œ ๊ฐœ์ˆ˜ ]๋กœ ํฌ๊ธฐ๋ฅผ ์ •ํ•จ, ์ฐธ์กฐ ๋ณ€์ˆ˜์— ๋ฐฐ์—ด ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•จ
  • ๊ฐ ๋ฐฐ์—ด์˜ ์š”์†Œ๋Š” 2๊ฐœ์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•จ

(2) ๊ฐ€๋ณ€์  ๊ธธ์ด์˜ 2์ฐจ์› ๋ฐฐ์—ด ์˜ˆ

 

  • ๋ฐฐ์—ด์˜ ์š”์†Œ ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฐ€๋ณ€์ ์œผ๋กœ ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์ง
  • ๋‘ ๋ฐฐ์—ด์˜ ์ฐธ์กฐ๊ฐ’์„ ์ €์žฅํ•  ๋ฐฐ์—ด๋งŒ ๋งŒ๋“ค๊ณ  ๊ฐ ์ฐธ์กฐ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐฐ์—ด์€ ์ƒ์„ฑ๋˜์ง€ ์•Š์€ ๊ฒƒ
  • ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ ์ผ์ฐจ์› ๋ฐฐ์—ด์„ ๋ฐ˜๋“œ์‹œ ํ• ๋‹นํ•ด์•ผ ๊ฐ’์ด ์ง€์ •๋จ

๐Ÿ“š 3. 2์ฐจ์› ๊ฐ์ฒด ๋ฐฐ์—ด ์˜ˆ

 

  • ์ฐธ์กฐ์ž๋ฃŒํ˜•์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฐฐ์—ด์ด๋ฏ€๋กœ ๊ฐ€๋ณ€์ ์ž„
  • ๊ฐ ์š”์†Œ๋Š” String ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ฐธ์กฐ ๋ณ€์ˆ˜์˜ ๋ฌถ์Œ ์ค‘ ํ•œ ์นธ์„ ์˜๋ฏธ

๐Ÿ“š 4. ์ด์ฐจ์› ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™”

 

  • ์ผ์ฐจ์› ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™”์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ดˆ๊ธฐํ™” ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ฐจ์› ๋ฐฐ์—ด๋„ ์„ ์–ธํ•จ
  • ๋ฐฐ์—ด ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”๊ฐ€ ๊ฐ€๋Šฅํ•จ
int[][] array = { {1, 3, 5}, {2, 4, 6} };

๐Ÿ“š 5. 2์ฐจ์› ๋ฐฐ์—ด์˜ ์š”์†Œ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

 

  • C์–ธ์–ด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ค‘์ฒฉ๋œ for ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๊ฐ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ
int i, j;
for (i = 0; i < array.length; i++) {
    for (j = 0; j < array[i].length; j++) {
        statements to be repeated : array[i][j]
    }
}
  • array.length = 1์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜
  • array[i].length = i๋ฒˆ์งธ ๊ทธ๋ฃน์˜ ์š”์†Œ ๊ฐœ์ˆ˜

 

 

 

 

 

 

 

 

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.