JAVA

Class_instance

고민말고생각하는사람 2024. 1. 10. 23:02

인스턴스란?

특정 클래스(설계도)를 통해 생성한 객체이다. 

 

클래스 작성 예시

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

 

사용 예시

Student student1 = new Student();
student1.name = "김어향";
student1.age = 15;
student1.score = 90;

 

인스턴스 생성 원리

new 키워드와 생성자 메서드를 통해 새로운 인스턴스를 생성한다.

 

이 때, 클래스 구성 요소인 

String name, int age, int score; 과 같은 필드 등을 위한 메모리가 할당된다.

그리고, 이를 관리(접근)하기 위한 주소값이 할당된다. (관리할 방법도 없는 메모리.. 만들어도 소용 없으니까!

)

그런데, 할당될 주소는 그냥 주소일 뿐, 사용할 수 없다.

주소는 있다는데 아는 사람이 없네?
있는데 없다. 이러한 사태를 방지하기 위해 주소를 변수에 대입한다.

위의 코드에서는 할당된 주소를 Student 타입 변수 student1 에 대입 하였다.

이를 통해 택배 배달분들이 주소지를 보고 우리들의 집에 찾아오는 것 마냥 메모리에 접근할 수 있게 된다.

 

클래스는 참조형이다

클래스 타입 변수에는 '주소값'이 대입 된다. 그렇다!!!

클래스 변수는 '참조형 변수'  되시겠.

기본형(primitive Type)에는 '값' 이 대입되고, 

참조형(Refference Type)에는 "참조할 주소값' 이 대입된다.

 

주소를 통해 접근해서 사용

변수에 담긴 참조 주소를 통해 해당 객체에 접근하고, 객체 정보를 관리 및 활용할 수 있게 되었다.

 

참조값 . 접근 내용(필드 or 메소드)
student1.name = "룰루랄라";
student.study();