객체지향 개념_Class

2023. 12. 29. 14:56개발공부/Java

728x90
반응형

학생 성적 데이터를 변수에 저장 -> 출력 

public class ClassStart {
    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]);
        }
    }
}

 

위처럼 배열로 데이터를 정리할 때 문제점. 

1. 데이터를 추가할 때 하나씩 일일이 추가해주어야 함. 

   예. 학생3의 정보를 넣을 때,  studentAges 배열, studentGrades 배열에 각각 데이터를 추가해야 하는 불편함.

2. 지우거나 수정할 때 실수할 가능성이 있음. 

 

- 학생의 정보를 그룹으로 묶어 다루기 쉽게 만들어주어야 함.  

- 이때 클래스를 사용할 수 있음. 

 

클래스(Class)

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

 

Student라는 이름의 클래스 생성.

- Student라는 유형/타입의 객체를 만들기 위한 틀

- 실질적으로 존재하는 객체는 아님.

- 객체를 만들기 위한 설계도 (플라톤 이데아와 비슷하게 이해할 수도 있을 것 같다)

 

public static void main(String[] args) {
    Student student1;
    student1 = new Student();
    student1.name = "학생1";
    student1.age = 15;
    student1.grade = 90;

 

위처럼 실행클래스를 생성하고 미리 만들어둔 클래스를 활용해 객체를 생성할 수 있음. 

Student -> 클래스 타입

student1 -> 객체의 주소를 참조하는 참조변수

 

 

객체사용

student1이 참조하는 객체의 실질적인 내용(name, age, grade)을 채워주어야 함

 

참조변수 + . + 멤버변수 = 내용

 

의 형태로 초기화

"참조변수가 참조하고 있는 주소로 가서 멤버변수의 내용을 ~~~라고 채우시오." 라고 읽을 수 있음. 

 

메서드가 있다면

참조변수 + . + 메서드();

 

의 형태가 될 것

728x90
반응형