간단하게 Student라는 클래스를 만들어보자.
class Student{
private String name;
private int age;
private int score;
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int getScore() {
return score;
}
}
이름, 나이, 점수를 가지는 학생 클래스를 만들어놨다.
이제 이 클래스를 이용해서 학생이라는 객체(인스턴스)를 만들어보자.
public class Main {
public static void main(String[] args) {
Student student1 = new Student("박기현", 15, 90);
Student student2 = new Student("김기현", 16, 80);
}
}
학생1, 학생2라는 객체를 각각 생성했다.
new student()로 객체를 생성하면 메모리에 단순하게 객체를 생성한다.
이후 student1, student2라는 변수에 참조값을 반환한다. (나 메모리 여기에 있으니 찾아~)
그래서 student1과 student2는 각각 다른 참조값을 가지게 된다.
이렇게 같은 클래스를 통해 만들었어도 참조값은 서로 다르게 된다.
김영한 강사님께서 정리해준 객체 vs 인스턴스의 내용이다.
사실 나도 혼용해서 많이 사용했다. 하지만 분명 두 개는 다른 용도로 불려지고 있다는 것만 다시 짚고 넘어가면 될 것 같다.
반응형
'JAVA 강의(인프런)' 카테고리의 다른 글
Final을 Static과 같이 사용해야 하는 이유 (1) | 2023.12.03 |
---|---|
Java 메모리 구조 (0) | 2023.12.03 |
생성자 (0) | 2023.12.03 |
기본형 vs 참조형 (1) | 2023.11.30 |