📌 Class 도입

지난 글에서 클래스 키워드를 사용하여 학생 클래스를 정의했었다.
학생 클래스는 내부에 이름, 나이, 성적이라는 변수를 가진다.
이렇게 클래스에 정의한 변수들을 멤버 변수, 또는 필드라고 한다.
클래스에 소속된 변수를 뜻한다.
📌 Class 사용
package class1;
public class StudentClass3 {
public static void main(String[] args) {
Student student1;
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;
System.out.println("이름:"+student1.name+" 나이:"+student1.age+" 성적:"+student1.grade);
System.out.println("이름:"+student2.name+" 나이:"+student2.age+" 성적:"+student2.grade);
}
}
Student클래스를 활용하여 선언을 한다.
이 작업은 학생을 실제 메모리에 만든다는 뜻이다.
그리고 Student 클래스에서 만든 멤버변수를 사용하려면 .을 사용하여 접근할 수 있다.

출력을 해보면 이런식으로 설정해둔 값이 잘 나온다.
이전글에서 했던 방식을 객체를 도입해서 만든 것이다.
➡️ 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라고 한다.
(학생1,학생2 = 객체 또는 인스턴스)
➡️ 클래스를 통해 사용자가 원하는 종류의 데이터 타입을 마음껏 정의 가능
📋 student1 = new Student()
: 객체를 생성할 때는 new 클래스명()을 사용
new Student() : new는 새로 생성한다는 뜻
➡️ Student 클래스 정보를 기반으로 새로운 객체를 생성하라는 뜻 // 메모리에 Student 객체 생성
- 객체를 생성하면 자바는 메모리 어딘가에 있는 이 객체에 접근할 수 있는 참조값을 반환한다.
- new 키워드를 통해 객체가 생성되고 나면 참조값을 반환. Student student1에 생선된 객체의 참조값을 보관한다.
- Student student1 변수는 이제 메모리에 존재하는 실제 Student객체의 참조값을 가지고 있다.
- student1 변수는 방금 만든 객체에 접근할 수 있는 참조값을 가지고 있어서 이 변수를 통해 객체를 접근할 수 있다.
❓ 참조값을 변수에 보관해야 하는 이유
생성한 객체에 접근할 수 있는 방법이 필요하기 때문에 객체를 생성할 때 반환되는 참조값을 어딘가에 보관해두어야 한다.
그걸 이제 변수에다가 저장하여 저장한 참조값을 통해서 실제 메모리에 존재하는 객체에 접근할 수 있다.
'Coding > JAVA' 카테고리의 다른 글
| [JAVA] 영화 리뷰 프로그램 (0) | 2024.08.20 |
|---|---|
| [JAVA] 코드 리팩토링 (0) | 2024.08.20 |
| [JAVA] Class가 필요한 이유 (0) | 2024.08.20 |
| [JAVA] 입출금 리팩토링 (0) | 2024.08.18 |
| [JAVA] 메서드 호출로 코드 리팩토링 (0) | 2024.08.17 |