Coding/JAVA

[JAVA] Class가 필요한 이유

민톨이 2024. 8. 20. 20:33
728x90
package class1;

public class ClassStart1 {

    public static void main(String[] args) {
        String student1Name = "학생1";
        int student1Age = 15;
        int student1Grade = 90;

        String student2Name = "학생2";
        int student2Age = 16;
        int student2Grade = 80;

        System.out.println("이름:"+student1Name+" 나이:" + student1Age + "성적:"+student1Grade );
        System.out.println("이름:"+student2Name+" 나이:" + student2Age + "성적:"+student2Grade );

    }
}

 

이런 코드가 있다고 하자. 그럼 여기서 새로운 값을 넣으려면(학생정보) 이렇게 하나하나하나 정보를 넣어줘야 한다. 상당히 불편하지 않은가

 

이제 이 코드를 배열을 사용해서 리팩토링 한다면?

 

package class1;

public class ClassStart2 {

    public static void main(String[] args) {
        String[] studentNames = {"학생1","학생2"};
        int[] studentAges = {15,16};
        int[] studentGrades = {90,80};
        for(int i=0; i<studentNames.length;i++){
            System.out.println("이름:" + studentNames[i] + " 나이:" + studentAges[i] +" 성적:" + studentGrades[i]);
        }

    }
    //배열 사용의 한계
}

 

이런식으로 보기에 코드가 짧아지긴 했으나 배열 사용의 한계가 있다.

인덱스 n의 값을 삭제하거나 수정하려면 다른 배열들도 다 그 인덱스n을 수정해서 정확하게 맞추어놔야한다. 이러면 실수하면 큰 타격이 있을 것이다.

데이터가 많아진다면 두 방식 모두 비효율적인 방법일 것이다. 이를 해결하기 위해서 사용하는 것이 클래스이다.

= 학생의 정보를 하나의 클래스에 넣어버리는 것이다.

 

📌 Class 도입

package class1;

public class Student {
    String name;
    int age;
    int grade; 
}

 

이런식으로 Student라는 클래스를 만들고 그 안에 학생 정보를 담을 변수들을 선언하면 된다.

'Coding > JAVA' 카테고리의 다른 글

[JAVA] 코드 리팩토링  (0) 2024.08.20
[JAVA] Class 사용 - 인스턴스 생성  (0) 2024.08.20
[JAVA] 입출금 리팩토링  (0) 2024.08.18
[JAVA] 메서드 호출로 코드 리팩토링  (0) 2024.08.17
[JAVA]메서드 오버로딩  (0) 2024.08.16