인스턴스
- 클래스는 객체를 생성하기 위해 속성과 기능을 정의해놓은 코드의 집합이다.
- 하나의 클래스에서 여러 개의 객체가 생성될 수 있는데 이를 인스턴스라고 한다.
- 각 인스턴스들은 다른 멤버변수 값을 가진다.
- 인스턴스는 new 키워드를 이용해 생성한다.
예제 코드
- 앞에서 짰던 StudentTest 클래스 코드에서 studentLee, studentKim 두개의 인스턴스를 생성했다.
- 각 인스턴스를 출력해보자
package ch03;
public class StudentTest {
public static void main(String[] args) {
Student studentLee = new Student();
System.out.println(studentLee);
Student studentKim = new Student();
System.out.println(studentKim);
}
}
수행 결과
ch03.Student@2f92e0f4
ch03.Student@28a418fc
- 패키지이름과 클래스 뒤에 뜨는 것은 각 인스턴스가 저장된 주소값을 가리킨다.
- 각자 다른 주소에 저장되기 때문에 인스턴스가 여러개 존재할 수 있는 것이다.
- 참조 변수 : 생성된 인스턴스를 가리키는 변수
- 참조 값 : 생성된 인스턴스의 주소 값
힙메모리
- 인스턴스는 힙이라는 동적메모리에 할당된다.
- C 또는 C++ 에서는 free라는 키워드로 메모리를 해제해줘야 하지만, 자바에서는 Garbage Collector가 주기적으로 사용하지 않는 메모리를 해제해준다. (매우 편리)
'Java & Kotlin' 카테고리의 다른 글
[Java 객체지향] 생성자 (0) | 2022.01.25 |
---|---|
[Java 객체지향] 클래스 생성하고 메서드 구현해보기 (0) | 2022.01.24 |
[Java 객체지향] 함수와 메소드 (0) | 2022.01.24 |