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();