배열 (Arrangement)
String → String[]
//AS-IS
final String studentName01 = "Song";
final int studentAge01 = 34;
final int studentGrade01 = 90;
final String studentName02 = "Lee";
final int studentAge02 = 33;
final int studentGrade02 = 80;
System.out.println("Name : " + studentName01 + "\\n" + "Age : " + studentAge01 + "\\n" + "Grade : " + studentGrade01);
System.out.println("Name : " + studentName02 + "\\n" + "Age : " + studentAge02 + "\\n" + "Grade : " + studentGrade02);
//TO-BE-01
final String[] studentNames = {"Song", "Lee"};
final int[] studentAges = {34, 33};
final int[] studentGrades = {90, 80};
for(int i=0; i<studentNames.length; i++){
System.out.println("Name : " + studentNames[i] + "\\n" + "Age : " + studentAges[i] + "\\n" + "Grade : " + studentGrades[i]);
}
배열 사용의 한계
클래스 (Class)
public class Student {
String name;
int age;
int grade;
}
//TO-BE-02
//Student : 클래스
//student01, student02 : 객체(인스턴스)
Student student01 = new Student(); //Student 타입을 받을 수 있는 변수 선언
student01.name = "Song"; //student01 객체의 name 멤버 변수에 값 대입
student01.age = 34;
student01.grade = 90;
Student student02 = new Student();
student02.name = "Lee";
student02.age = 33;
student02.grade = 80;
System.out.println("Name : " + student01.name + "\\n" + "Age : " + student01.age + "\\n" + "Grade : " + student01.grade);
System.out.println("Name : " + student02.name + "\\n" + "Age : " + student02.age + "\\n" + "Grade : " + student02.grade);
클래스, 객체, 인스턴스 정리
Student[] students = new Student[2];
//Java에서 대입은 항상 변수에 들어있는 값을 복사한다.
students[0] = student01;
students[1] = student02;
System.out.println("Name : " + students[0].name + "\\n" + "Age : " + students[0].age + "\\n" + "Grade : " + students[0].grade);
System.out.println("Name : " + students[1].name + "\\n" + "Age : " + students[1].age + "\\n" + "Grade : " + students[1].grade);
Student[] students = new Student[2];
배열 도입 - 리팩토링
Student[] students = {student01, student02};
for(int i=0; i<students.length; i++){
System.out.println("Name : " + students[i].name + "\\n" + "Age : " + students[i].age + "\\n" + "Grade : " + students[i].grade);
}
Student[] students = {student01, student02};
for(Student student : students){
System.out.println("Name : " + students[i].name + "\\n" + "Age : " + students[i].age + "\\n" + "Grade : " + students[i].grade);
}