인스턴스 (instance)
클래스는 객체의 속성과 기능을 구현하여 만들어 놓은 설계도이다.
실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 된다.
new 키워드를 사용하여 인스턴스를 생성한다.
힙 메모리
생성된 인스턴스는 동적 메모리에 할당된다.
하나의 클래스로부터 여러 개의 인스턴스가 생성되고 각각 다른 메모리 주소를 가지게 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package ch01; public class MainTest4 { // 코드의 시작점 public static void main(String[] args) { int n1; int n2 = 100; Student studentPack = new Student(); studentPack.studentId = 1; } // end of main } // end of class | cs |
→ 스택 메모리 (LIFO) : 후입선출 방식으로, 밑에서부터 쌓아 올라가고 위에서 아래로 하나씩 꺼내는 방식이다.
Student클래스의 객체를 new 연산자를 이용해 studentPack 인스턴스가 생성이 되면 힙에 메모리가 올라가게 되고 주소값을 가진다.
→ 기본 데이터 타입은 값(리터럴)이 출력이 되고, 참조 타입은 주소값이 출력이 된다. (참조타입의 값을 참조하지 않은 공간은 초기값으로 출력됨)
'프로그래밍 > Java' 카테고리의 다른 글
Java_생성자 (0) | 2023.02.07 |
---|---|
Java_함수(function) (0) | 2023.02.06 |
Java_객체 지향 언어 (0) | 2023.02.05 |
Java_반복문 for 문과 while 문 (0) | 2023.02.05 |
Java_조건문 if 문 (0) | 2023.02.05 |