๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programming/Java

9 Two-dimensional Arrays (Feat. Object Array)

by Dowon Kang 2024. 1. 19.

2์ฐจ์› ๋ฐฐ์—ด์€ ํ–‰๊ณผ ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด๋กœ, ๊ฐ ์š”์†Œ๋Š” ๋‘ ๊ฐœ์˜ ์ธ๋ฑ์Šค๋กœ ์ฐธ์กฐ๋ฉ๋‹ˆ๋‹ค. 

์ด๋Š” ํ–‰๊ณผ ์—ด์˜ 2์ฐจ์› ์ขŒํ‘œ๋กœ ๋ฐฐ์—ด ๋‚ด์˜ ํŠน์ • ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠน์ • ํ–‰๊ณผ ์—ด์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด ๋ฐฐ์—ด์€ 3๊ฐœ์˜ ํ–‰๊ณผ 3๊ฐœ์˜ ์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ–‰์€ ์ค‘๊ด„ํ˜ธ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ถ€๋ถ„์ด๊ณ , ๊ฐ ํ–‰์€ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

2์ฐจ์› ๋ฐฐ์—ด์€ ์ฃผ๋กœ ํ–‰๋ ฌ(Matrix)๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์ด๋‚˜ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ์ž‘์—…์— ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” ๊ฐ ํ–‰์˜ ๊ธธ์ด๊ฐ€ ๋™์ผํ•ด์•ผ ํ•˜๋ฉฐ, ๊ฐ ํ–‰๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ๊ธธ์ด๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 




๊ฐ์ฒด ๋ฐฐ์—ด(Object Array)์€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋Œ€์‹  ๊ฐ์ฒด๋ฅผ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. Java์—์„œ ๋ชจ๋“  ํด๋ž˜์Šค๋Š” Object ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ ๋˜๋Š”๊ฐ„์ ‘์ ์œผ๋กœ ํ™•์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋“  ๊ฐ์ฒด๋Š” Object ํ˜•์‹์œผ๋กœ ์ทจ๊ธ‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ์ฒด ๋ฐฐ์—ด์€ ์–ด๋–ค ์œ ํ˜•์˜ ๊ฐ์ฒด๋“  ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ์€ ๋ฌธ์ž์—ด(String) ๊ฐ์ฒด๋ฅผ ๋‹ด์€ ๊ฐ์ฒด ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๋Š” Java ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค:

๋”๋ณด๊ธฐ

// ๊ฐ์ฒด ๋ฐฐ์—ด ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”
Object[] objectArray = new Object[3];
objectArray[0] = "Hello";
objectArray[1] = 42;
objectArray[2] = new Double(3.14);

// ๊ฐ์ฒด ๋ฐฐ์—ด์˜ ์š”์†Œ์— ์ ‘๊ทผ
String greeting = (String) objectArray[0];
int number = (int) objectArray[1];
double piValue = (double) objectArray[2];

์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๊ฐ์ฒด ๋ฐฐ์—ด์— ์ €์žฅ๋œ ๊ฐ์ฒด๋ฅผ ๊บผ๋‚ผ ๋•Œ ํ˜•๋ณ€ํ™˜์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐฐ์—ด์ด Object ํ˜•์‹์œผ๋กœ ์„ ์–ธ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฐ์—ด์—์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ๋Š” ํ•ด๋‹น ๊ฐ์ฒด์˜ ์‹ค์ œ ์œ ํ˜•์œผ๋กœ ๋ช…์‹œ์ ์œผ๋กœ ํ˜•๋ณ€ํ™˜์„ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์ฒด ๋ฐฐ์—ด์€ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ๋‹คํ˜•์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ๊ฐ์ฒด๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํƒ€์ž… ์•ˆ์ „์„ฑ(type safety)์ด ๋–จ์–ด์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ€๋Šฅํ•œํ•œ ๊ตฌ์ฒด์ ์ธ ์œ ํ˜•์˜ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํŠน์ •ํ•œ ์œ ํ˜•์˜ ๊ฐ์ฒด๋งŒ์„ ๋‹ค๋ฃจ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ๊ฐ์ฒด ์œ ํ˜•์œผ๋กœ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

 

 

 


A 2-dimensional array is a data structure that stores elements in rows and columns, forming a grid-like structure. Each element is accessed using two indices, representing its position in the row and column.


An object array is an array that can hold elements of different types, as all objects in Java implicitly extend the Object class. It allows the storage of diverse objects within the same array, but requires explicit type casting when retrieving elements.

 

'Programming > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

11 Class intro - feat. Field (Member variable)  (0) 2024.01.19
10 Object-Oriented Programming (feat. Procedural Programming)  (1) 2024.01.19
8 Array (๋ฐฐ์—ด)  (0) 2024.01.19
7 while loop (feat. do-while)  (0) 2024.01.07
6 for loop (feat. Nested, foreach)  (0) 2024.01.07

๋Œ“๊ธ€