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 |