๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โ˜•Java

[Java ์ดํ•ดํ•˜๊ธฐ] 12. Java์˜ ๋ฐฐ์—ด (1)

by Luvbit 2024. 5. 24.

 



๐Ÿ’šJava์˜ ๋ฐฐ์—ด์ด๋ž€
?

Java์˜ ๋ฐฐ์—ด์€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.
๋ฐฐ์—ด์€ ๊ณ ์ •๋œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ดˆ๊ธฐํ™” ์‹œ์— ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

๋ฐฐ์—ด์˜ ํŠน์ง•์„ ๊ฐ€์žฅ ์ž˜ ๋“œ๋Ÿฌ๋‚ด๋Š” ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ œ๊ฐ€ ๊ธฐ์ฐจ๋†€์ด ํ•˜๋Š” ํ† ๋ผ์˜ ์‚ฌ์ง„์„ ๊ดœํžˆ ์˜ฌ๋ฆฐ ๊ฒŒ ์•„๋‹Œ๋ฐ์š”, ๋ฐฐ์—ด์€ ๋งˆ์น˜ ๊ธฐ์ฐจ๋†€์ด์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ ํ† ๋ผ 1๊ณผ ํ† ๋ผ 2๋ฅผ ์ •์˜ํ•˜๋ฉด, ์ด ๋‘ ๊ฐœ์˜ String ๊ฐ์ฒด๋Š” ๋ฉ”๋ชจ๋ฆฌ์ƒ ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋ฅด๋Š” ๊ณณ์— ๋™๋–จ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค.

String pipi = "์ฒซ๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ";
String cucu = "๋‘๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ";

 

๊ทผ๋ฐ ์ด๋ ‡๊ฒŒ ์ •์˜ํ•œ๋‹ค๋ฉด, pipi๊ฐ€ ๋‘ ๋ฒˆ์งธ์— ์žˆ๋Š”์ง€, cucu๊ฐ€ ์ฒซ ๋ฒˆ์งธ์— ์žˆ๋Š”์ง€ ์ง์ ‘ ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•ด๋ณด์ง€ ์•Š๋Š” ์ด์ƒ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ฐฉ๋ฒ•๋ฐ–์— ์—†๊ฒŒ ๋˜๋Š”๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

System.out.println(cucu);
System.out.println(pipi);

print >>
๋‘๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ
์ฒซ๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ

 

๊ทผ๋ฐ ๋งŒ์•ฝ์—, ํ† ๋ผ๊ฐ€ 10๋งˆ๋ฆฌ๋ผ๋ฉด ํ•œ ๋งˆ๋ฆฌ์”ฉ System.out.println();์œผ๋กœ ์ถœ๋ ฅํ•ด์„œ ํ™•์ธํ•˜๊ธฐ์—” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์ƒ ์ฐจ๋ก€๋Œ€๋กœ ์ €์žฅ๋˜์–ด, ์ˆœ์„œ(=์ธ๋ฑ์Šค)๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ๋ฐฐ์—ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

ํ† ๋ผ 5๋งˆ๋ฆฌ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด๊ธด ๋ฐฐ์—ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ถœ๋ ฅํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐฐ์—ด์—์„œ์˜ ์ˆœ์„œ(=์ธ๋ฑ์Šค)๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

public static void main(String[] args) {
	// ํ† ๋ผ 5๋งˆ๋ฆฌ ๋„ฃ์„ ๊ธฐ์ฐจ ๋งŒ๋“ค๊ธฐ
    String[] rabbits = new String[5];
    
    // 0๋ถ€ํ„ฐ์‹œ์ž‘ํ•ด์„œ 5๋งˆ๋ฆฌ ๋‹ด๊ธฐ
	rabbits[0] = "pipi"; 
	rabbits[1] = "cucu";
	rabbits[2] = "popo";
	rabbits[3] = "pupu";
	rabbits[4] = "cici";
		
    // ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ ์ถœ๋ ฅํ•˜๊ธฐ
	for(int i =0; i<5; i++) {
		System.out.print(rabbits[i] + " ");
	}
		
}
    
print >>
pipi cucu popo pupu cici

 

๋งŒ์•ฝ ํ† ๋ผ๊ฐ€ 5๋งˆ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ, 100๋งˆ๋ฆฌ, 1000๋งˆ๋ฆฌ์˜€๋‹ค๋ฉด ์ถœ๋ ฅ์„ 100๋ฒˆ, 1000๋ฒˆ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์ด ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ์ € ์žฅํ•˜๋ฉด, rabbit [4]๋ฅผ ์ถœ๋ ฅํ–ˆ์„ ๋•Œ ๋ฐ”๋กœ 5๋ฒˆ์งธ ํ† ๋ผ์˜ ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ถ€๊ฐ€์ ์ธ ์„ค๋ช…์€ ์•„๋ž˜์—์„œ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 


 

 

๐Ÿšž๋ฐฐ์—ด์˜ ํŠน์ง•

1. ๊ณ ์ • ํฌ๊ธฐ: ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” ์ดˆ๊ธฐํ™” ์‹œ์— ๊ฒฐ์ •๋˜๋ฉฐ, ์ดํ›„์—๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์•„๊นŒ 5์นธ์งœ๋ฆฌ ๊ธฐ์ฐจ๋ฅผ ๋งŒ๋“  ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

2. ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…: ๋ฐฐ์—ด์€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์š”์†Œ๋“ค๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, int ๋ฐฐ์—ด์€ ์ •์ˆ˜๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ , String ๋ฐฐ์—ด์€ ๋ฌธ์ž์—ด๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ์ธ๋ฑ์Šค: ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉฐ, ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” length ์†์„ฑ์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ์ž๋™ ์ดˆ๊ธฐํ™”: ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๋ฉด,  ๊ฐ’์„ ๋„ฃ์ง€ ์•Š์•„๋„ ๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, int ๋ฐฐ์—ด์˜ ์š”์†Œ๋Š” 0์œผ๋กœ, boolean ๋ฐฐ์—ด์˜ ์š”์†Œ๋Š” false๋กœ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. 

 

 

 

 

 

๋ฐฐ์—ด ์„ ์–ธ

int[] numbers; // ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด ์„ ์–ธ
String[] names; // ๋ฌธ์ž์—ด ๋ฐฐ์—ด ์„ ์–ธ

 

 

 

 

 

๋ฐฐ์—ด ์ดˆ๊ธฐํ™”

 

๋ฐฐ์—ด์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ, 'new' ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

//์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”
int[] numbers = {1, 2, 3, 4, 5};
String[] names = {"pipi", "pupu", "popo"};

// new ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์ดˆ๊ธฐํ™”
int[] scores = new int[2]; // ํฌ๊ธฐ๊ฐ€ 2์ธ ๋ฐฐ์—ด ์ƒ์„ฑ
scores[0] = 90; // ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์— ๊ฐ’ ํ• ๋‹น
scores[1] = 80; // ๋‘ ๋ฒˆ์งธ ์š”์†Œ์— ๊ฐ’ ํ• ๋‹น

 

 

 

 

 

๋ฐฐ์—ด์˜ ์‚ฌ์šฉ

public static void main(String[] args) {
	String[] rabbits = new String[5]; 
	rabbits[0] = "pipi"; 
	rabbits[1] = "cucu";
	rabbits[2] = "popo";
	rabbits[3] = "pupu";
	rabbits[4] = "cici";
		
	System.out.println("์›๋ž˜ 3๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ๋Š”? : " + rabbits[2]);
		
	//3๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ๋ฅผ coco๋กœ ๋ฐ”๊พธ๊ธฐ!
	rabbits[2] = "coco";
		
	System.out.println("๋ฐ”๊พผ ํ›„์— 3๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ๋Š”? : " + rabbits[2]);
		
}


print >>
์›๋ž˜ 3๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ๋Š”? : popo
๋ฐ”๊พผ ํ›„์— 3๋ฒˆ์งธ ์ค„์— ์žˆ๋Š” ํ† ๋ผ๋Š”? : coco

 

์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ๋•Œ๋Š” ๋ฐฐ์—ด๋ช…[index]์œผ๋กœ ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค. 

์ด๋ ‡๊ฒŒ ์ ‘๊ทผํ•œ ์š”์†Œ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜๋„ , ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

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

 

์ž๋ฐ”์—์„œ๋Š” 2์ฐจ์› ์ด์ƒ์˜ ๋‹ค์ฐจ์› ๋ฐฐ์—ด๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํ”ํ•œ ํ˜•ํƒœ๋Š” 2์ฐจ์› ๋ฐฐ์—ด๋กœ, ์ด๋Š” ๋ฐฐ์—ด์˜ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

// 2์ฐจ์› ๋ฐฐ์—ด ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”
int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

// 2์ฐจ์› ๋ฐฐ์—ด ์š”์†Œ์— ์ ‘๊ทผ
int value = matrix[1][2]; // ๋‘ ๋ฒˆ์งธ ํ–‰, ์„ธ ๋ฒˆ์งธ ์—ด์˜ ๊ฐ’ (6)

// 2์ฐจ์› ๋ฐฐ์—ด ์š”์†Œ์˜ ๊ฐ’ ๋ณ€๊ฒฝ
matrix[0][0] = 10; // ์ฒซ ๋ฒˆ์งธ ํ–‰, ์ฒซ ๋ฒˆ์งธ ์—ด์˜ ๊ฐ’์„ 10์œผ๋กœ ๋ณ€๊ฒฝ

 

 

 

๋ฐฐ์—ด์˜ ์ถœ๋ ฅ 

 

๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์ฒด ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. for๋ฌธ ์™ธ์—๋„ while, 'stream' API๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ผ๋‹จ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ for๋ฌธ ๋‘ ๊ฐ€์ง€๋ฅผ ์†Œ๊ฐœ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

1. ์ „ํ†ต์ ์ธ `for`๋ฃจํ”„

public static void main(String[] args) {
	int[] scores = {100, 90 ,80, 75, 95};
	
		
	//์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•
	for(int i =0; i<5; i++) {
		System.out.println(scores[i] +" ");
	}
}

print >>
100 
90 
80 
75 
95

 

 

 

2. ํ–ฅ์ƒ๋œ `for`๋ฌธ (for-each)

public static void main(String[] args) {
	int[] scores = {100, 90 ,80, 75, 95};
		
		
//  ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•
//	scores์— ์š”์†Œ๊ฐ€ ์—†์„๋•Œ๊นŒ์ง€ scores์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๊บผ๋‚ด์–ด
//	sc์— ๋‹ด๊ณ , ๋ฐ˜๋ณต๋ฌธ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.
	for(int score : scores) {
		System.out.println(score + " ");
	}
}


print >>
100 
90 
80 
75 
95

 

 

 

 

 

 

 

 

 

๋‹ค์Œ ๊ฒŒ์‹œ๊ธ€์—์„œ๋„ ๋ฐฐ์—ด์„ ์กฐ๊ธˆ๋งŒ ๋” ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

๊ถ๊ธˆํ•˜์‹  ์ ์€ ๋Œ“๊ธ€์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”
๐Ÿฉต๐Ÿฐ๐Ÿฉต