1. ๋“ค์ญ‰๋‚ ์ญ‰ํ•œ ๋ฐฐ์—ด

Java ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” 2์ฐจ์› ๋ฐฐ์—ด์˜ ํ–‰์„ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

2์ฐจ์› ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ํ–‰์˜ ๊ธธ์ด๋Š” 10์ด๊ณ  ๋‘ ๋ฒˆ์งธ ํ–‰์˜ ๊ธธ์ด๋Š” 50. ์šฐ๋ฆฌ๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ž˜ ์šฐ๋ฆฌ๋Š” ํ•  ์ˆ˜์žˆ์–ด.

๋จผ์ € '์ปจํ…Œ์ด๋„ˆ ์ปจํ…Œ์ด๋„ˆ'๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ–‰ ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์ €์žฅํ•  ์ฒซ ๋ฒˆ์งธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

int[][] name = new int[height][];

๋‘ ๋ฒˆ์งธ ์ฐจ์›์„ ์ƒ๋žตํ•˜๋ฉด Java ์‹œ์Šคํ…œ์ด ์ปจํ…Œ์ด๋„ˆ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Java์˜ ๋“ค์ญ‰๋‚ ์ญ‰ํ•œ ๋ฐฐ์—ด

๊ทธ๋ฆฌ๊ณ  ๊ธ€์Ž„, ๋‹น์‹ ์€ ์ด๋ฏธ 1์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ๐Ÿ™‚

๊ฒฐ๊ณผ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

// Matrix of important data
int[][] matrix = new int[2][];
matrix[0] = new int[10];
matrix[1] = new int[50]
2์ฐจ์› ๋ฐฐ์—ด 0๋ฒˆ์งธ ํ–‰์€ ์š”์†Œ

์˜ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ–‰์€ ์š”์†Œ ์˜ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.10
50

์šฐ๋ฆฌ๋Š” ์†Œ์œ„ " ๋“ค์ญ‰๋‚ ์ญ‰ํ•œ ๋ฐฐ์—ด "์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ด ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ โ€‹โ€‹ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ length์†์„ฑ์ด ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ๋ฐฐ์—ด ํ–‰์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ, ์šฐ๋ฆฌ์˜ ์˜ˆ์—์„œ '์ปจํ…Œ์ด๋„ˆ์˜ ์ปจํ…Œ์ด๋„ˆ'์˜ ๊ธธ์ด๋Š” ์–ด๋–ป๊ฒŒ ์ฐพ์Šต๋‹ˆ๊นŒ? ๋˜ํ•œ ๊ธธ์ด๊ฐ€ ์žˆ์Œ์„ ์˜๋ฏธํ•˜๋Š” ๋ฐฐ์—ด ๊ฐœ์ฒด์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ •๋‹ต์€ ์ž…๋‹ˆ๋‹ค matrix.length.

ํ–‰์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฐ์—ด์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?matrix[0].length



2. 2์ฐจ์› ๋ฐฐ์—ด ์ž‘์—…

2์ฐจ์› ๋ฐฐ์—ด์„ ํ‘œ์‹œํ•˜๋ ค๊ณ  ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ?

์šฐ๋ฆฌ์˜ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

int[][] matrix = new int[3][];
matrix[0] = new int[]{1, 2, 3, 4, 5, 6};
matrix[1] = new int[]{1, 2, 3};
matrix[2] = new int[]{1};
for (int i = 0; i < matrix.length; i++) {
   for (int j = 0; j < matrix[i].length; j++)
      System.out.print( matrix[i][j] + " " );
   System.out.println();
}
๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ
๊ฐ’์œผ๋กœ ๋ฐฐ์—ด ์ฑ„์šฐ๊ธฐ


๋ฐฐ์—ด์˜ ํ–‰์„ ๋ฐ˜๋ณตํ•˜๋Š” ์™ธ๋ถ€ ๋ฃจํ”„.
๋‹จ์ผ ํ–‰์˜ ์…€์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋‚ด๋ถ€ ๋ฃจํ”„.

๋‘ ๊ฐœ์˜ ์ค‘์ฒฉ ๋ฃจํ”„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” outer ์ด๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” inner ์ž…๋‹ˆ๋‹ค .

์™ธ๋ถ€ ๋ฃจํ”„( i๋ณ€์ˆ˜)์—์„œ 2์ฐจ์› ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ํ–‰(๋ฐฐ์—ด)์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์˜ ๊ฐ ๊ฐ’์€ iํ•ด๋‹น ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋Š” ํ–‰์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ๋ฃจํ”„( j๋ณ€์ˆ˜)์—์„œ ํ–‰์˜ ๋ชจ๋“  โ€‹โ€‹์…€์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋ฃจํ”„ ๋•๋ถ„์— ํ•˜๋‚˜์˜ 1์ฐจ์› ๋ฐฐ์—ด ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ–‰์ด ํ™”๋ฉด์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋ฐฐ์—ด์˜ ํ•œ ํ–‰์ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
1 2 3 4 5 6
๋ฐฐ์—ด์˜ ๋‘ ํ–‰์ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
1 2 3 4 5 6
1 2 3
๋ฐฐ์—ด์˜ ์„ธ ํ–‰์ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
1 2 3 4 5 6
1 2 3
1


3. ๋‹ค์ฐจ์› ๋ฐฐ์—ด

๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋˜ ํ•˜๋‚˜์˜ ํฅ๋ฏธ๋กœ์šด ์‚ฌ์‹ค์€ ์ด๋ฏธ ์ง์ž‘ํ•˜์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด 3์ฐจ์› ๋ฐฐ์—ด๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ, ๋ชจ๋“  ์ฐจ์›์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฐ์—ด์„ '๋‹ค์ฐจ์›'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์žฌ๋ฏธ๋กœ 4์ฐจ์›์˜ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ๋ด…์‹œ๋‹ค.

 int[][][][] matrix = new int[2][3][4][5];

์ด ์ฝ”๋“œ๋Š” ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•˜์ง€ ์•Š๋‚˜์š”?

์ˆ˜๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?

int[][][][] matrix;
matrix = new int[2][][][];                // Create a 2-element array of references to references to references
for (int i = 0; i < matrix.length; i++)
{
  matrix[i] = new int[3][][];                // Create a 3-element array of references to references
  for (j = 0; j < matrix[i].length; j++)
  {
    matrix[i][j] = new int[4][];             // Create a 4-element array of references
    for (k = 0; k < matrix[i][j].length; k++)
      matrix[i][j][k] = new int[5];          // Create 5-element arrays of integers
  }
}

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ๋‹จ์ง€ ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค! ๊ทธ๋Ÿฐ ๋‹ค์Œ ์–ด๋–ป๊ฒŒ ๋“  ์ž‘์—…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ณด๋„ˆ์Šค ์ž‘์—…: ๋ชจ๋“  ๊ฐ’์„ 3์ฐจ์› ๋ฐฐ์—ด๋กœ ํ‘œ์‹œํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.