
ํด๋์ค๋ฅผ ํตํด ํ์๋ณ๋ก ๊ทธ ํ์์ ์ ๋ณด๋ฅผ ํ๊บผ๋ฒ์ ๋ด์ ์ ์๊ฒ ๋์๋ค.
ํ์ง๋ง ์ถ๋ ฅํ๋ ๋ถ๋ถ์ด ๋ถ๋ถ์ด ์ค๋ณต๋๋ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ณ ์ถ๋ค.
(๋ณ์ ์ด๋ฆ ๋นผ๊ณ ๋ ๋๋จธ์ง์ ์ถ๋ ฅ๊ฐ์ด ๊ฐ๊ธฐ ๋๋ฌธ์ ํ๊ฐ์ ์ฝ๋๋ก ์ฌ๋ฌ๊ฐ์ ๋ณ์๋ฅผ ๊ฐ๊ฐ ์ถ๋ ฅํ ์๋ ์์๊น?)
๋ฐฐ์ด์ ์ฌ์ฉํ๋ฉด ํน์ ํ์ ์ ์ฐ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ๋ฌถ์ด์ ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค.
package javaBasicLecture.array;
public class ClassStart4 {
public static void main(String[] args) {
Student student1 = new Student();
student1 = new Student();
student1.name = "ํ์ 1";
student1.age = 15;
student1.grade = 90;
Student student2 = new Student();
student2.name = "ํ์2";
student2.age = 16;
student2.grade = 80;
Student[] students = new Student[2];
students[0] = student1;
students[1] = student2;
System.out.println("์ด๋ฆ: " + students[0].name + " ๋์ด: " + students[0].age + " ์ฑ์ : " + students[0].grade);
System.out.println("์ด๋ฆ: " + students[1].name + " ๋์ด: " + students[1].age + " ์ฑ์ : " + students[1].grade);
}
}
1. ๋ฐฐ์ด์ ์ฐธ์กฐ๊ฐ ๋์
Student๋ฅผ ๋ด์ ์ ์๋ ๋ฐฐ์ด์ ์์ฑํ๊ณ , ํด๋น ๋ฐฐ์ด์ student1, student2 ์ธ์คํด์ค๋ฅผ ๋ณด๊ดํ์.
Student students = new Student[2];
- Student ๋ณ์๋ฅผ 2๊ฐ ๋ณด๊ดํ ์ ์๋ ์ฌ์ด์ฆ 2์ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
๋ณ์(students)์ ์ญํ ์ ์ฃผ์๋ฅผ ๋ณด๊ดํ๋ ์ฐธ์กฐ๊ฐ์ ๋ด๊ณ ์๋ ๊ฒ์ด๋ค.
๋ฐฐ์ด์ ์์ฑ๋ ๋ณ์๋ ์ฐธ์กฐ๊ฐ์ ๋ณด๊ดํ๋๊ฒ ์ญํ ์ด๋ค.
- Student ํ์ ์ ๋ณ์๋ Student ์ธ์คํด์ค์ ์ฐธ์กฐ๊ฐ์ ๋ณด๊ดํ๋ค. Student ๋ฐฐ์ด์ ๊ฐ๊ฐ์ ํญ๋ชฉ๋ Student ํ์ ์ ๋ณ์์ผ ๋ฟ์ด๋ค.
๋ฐ๋ผ์ Student ํ์ ์ ์ฐธ์กฐ๊ฐ์ ๋ณด๊ดํ๋ค.
- student1, student2 ๋ณ์๋ฅผ ์๊ฐํด๋ณด๋ฉด Student ํ์ ์ ์ฐธ์กฐ๊ฐ์ ๋ณด๊ดํ๋ค.
- ๋ฐฐ์ด์๋ ์์ง ์ฐธ์กฐ๊ฐ์ ๋์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ฐธ์กฐ๊ฐ์ด ์๋ค๋ ์๋ฏธ์ null๊ฐ์ผ๋ก ์ด๊ธฐํ ๋๋ค.
์ด์ ๋ฐฐ์ด์ ๊ฐ์ฒด๋ฅผ ๋ณด๊ดํ์.
students[0] = student1;
students[1] = student2;
//์๋ฐ์์ ๋์
์ ํญ์ ๋ณ์์ ๋ค์ด ์๋ ๊ฐ์ ๋ณต์ฌํ๋ค.
students[0] = x001;
students[1] = x002;
์๋ฐ์์ ๋์ ์ ํญ์ ๋ณ์์ ๋ค์ด ์๋ ๊ฐ์ ๋ณต์ฌํ๋ค.
student1, student2์๋ ์ฐธ์กฐ๊ฐ์ด ๋ณด๊ด๋์ด ์๋ค. ๋ฐ๋ผ์ ์ด ์ฐธ์กฐ๊ฐ์ด ๋ฐฐ์ด์ ์ ์ฅ๋๋ค.
๋๋ student1, student2์ ๋ณด๊ด๋ ์ฐธ์กฐ๊ฐ์ ์ฝ๊ณ ๋ณต์ฌํด์ ๋ฐฐ์ด์ ๋์ ํ๋ค๊ณ ํํํ๋ค.

์๋ฐ์์ ๋์ ์ ํญ์ ๋ณ์์ ๋ค์ด ์๋ ๊ฐ์ ๋ณต์ฌํด์ ์ ๋ฌํ๋ค.
(์ค์ํ๋ ๋๋ฒ ๊ฐ์กฐ..)
์ฃผ์!
๋ณ์์๋ ์ธ์คํด์ค ์์ฒด๊ฐ ๋ค์ด์๋ ๊ฒ์ด ์๋๋ค.
์ธ์คํด์ค์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๊ฐ์ด ๋ค์ด์์ ๋ฟ์ด๋ค.
๋ฐ๋ผ์ ๋์ (=)์์ ์ธ์คํด์ค๊ฐ ๋ณต์ฌ๋๋ ๊ฒ์ด ์๋๋ผ ์ฐธ์กฐ๊ฐ๋ง ๋ณต์ฌ๋๋ค.
์ฃผ์์ง๋ง ๋๊ฐ ์๊ธด๊ฒ์ด๋ค.
2. ๋ฐฐ์ด์ ๋ค์ด์๋ ๊ฐ์ฒด ์ฌ์ฉ
๋ฐฐ์ด์ ๋ค์ด์๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ๋ฐฐ์ด์ ์ ๊ทผํ๊ณ , ๊ทธ ๋ค์์ ๊ฐ์ฒด์ ์ ๊ทผํ๋ฉด ๋๋ค.
3. ๋ฐฐ์ด ๋์ - ๋ฆฌํํ ๋ง
package javaBasicLecture.array;
public class ClassStart5 {
public static void main(String[] args) {
Student student1 = new Student();
student1 = new Student();
student1.name = "ํ์ 1";
student1.age = 15;
student1.grade = 90;
Student student2 = new Student();
student2.name = "ํ์2";
student2.age = 16;
student2.grade = 80;
Student[] students = {student1, student2};
for (int i = 0; i < students.length; i++) {
System.out.println("์ด๋ฆ: " + students[i].name + " ๋์ด: " + students[i].age + " ์ฑ์ : " + students[i].grade);
}
}
}
3.1 ๋ฐฐ์ด ์ ์ธ ์ต์ ํ
์ฐ๋ฆฌ๊ฐ ์ง์ ํด๋์ค๋ก ์ ์ํ Student ํ์ ๋ ์ผ๋ฐ์ ์ธ ๋ณ์์ ๋์ผํ๊ฒ ๋ฐฐ์ด์ ์์ฑํ ๋ ํฌํจํ ์ ์๋ค.
Student[] students = {student1, student2};
์์ฑ๊ณผ ์ ์ธ์ ๋์์ ํ๋ ๊ฒฝ์ฐ ๋ค์๊ฐ ๊ฐ์ด ๋ ์ต์ ํ ํ ์ ์๋ค.
3.2 for๋ฌธ ์ต์ ํ
๋ฐฐ์ด์ ์ฌ์ฉํ ๋๋ถ์ for๋ฌธ์ ์ฌ์ฉํด์ ๋ฐ๋ณต ์์ ์ ๊น๋ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
for (int i = 0; i < students.length; i++) {
Student s = students[i];
System.out.println("์ด๋ฆ: " + s.name + " ๋์ด: " + s.age + " ์ฑ์ : " + s.grade);
}
Studentํ์ ์ ๋ณ์๋ฅผ ํ๋ ๋ง๋ค์ด์ ์ค๋ณต๋๋ students[i]๋ฅผ ํ ๊ธ์์ ๋ณ์๋ช ์ผ๋ก ์ค์ด๋ ๋ฒ์ด๋ค.
for (Student s : students) {
System.out.println("์ด๋ฆ: " + s.name + " ๋์ด: " + s.age + " ์ฑ์ : " + s.grade);
}
ํฅ์๋ for๋ฌธ(for- each)๋ฅผ ์ฌ์ฉํ๋ฉด Student ํ์ ์ s๋ผ๋ ๋ณ์๋ฅผ ์ ์ธํ๋ ์ฝ๋๋ฅผ ์์ฑํ์ง ์์๋ ๋๋ค.
๋ ๊ฐ๋ตํ๊ฒ ์ฝ๋๋ฅผ ์ง๋ ๋ฐฉ๋ฒ์ด๋ค.
ํฅ์๋ for๋ฌธ์ ์ธํ ๋ฆฌ์ ์ด ๋จ์ถํค : iter