반응형
인스턴스 (instance)
: new 키워드를 사용하여 클래스를 메모리에 생성한 상태
new 키워드를 사용하여 생성자를 통해 생성한 객체를 인스턴스 생성
힙 메모리
생성된 인스턴스는 동적 메모리(heap memory)에 할당
C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제시켜야 함(free() 나 delete 이용)
자바에서 Gabage Collector가 주기적으로 사용하지 않는 메모리를 수거
하나의 클래스로 부터 여러 개의 인스턴스가 생성되고 각각 다른 메모리 주소를 갖게 됨.
참조 변수, 참조 값
참조 변수 : 메모리에 생성돈 인스턴스를 가리키는 변수
참조 값 : 생성된 인스턴스의 메모리 주소 값
Student studentLee = new Student(); //생성자를 통해 생성한 객체를 instance
studentLee.studentId= 12345;
studentLee.setStudentName("Lee");
studentLee.address = "서울 강남구";
studentLee.showStudentInfo();
Student studentKang = new Student();
studentKang.studentId = 54321;
studentKang.studentName ="Kang";
studentKang.address = "경기도 성남시";
studentKang.showStudentInfo();
//참조값
System.out.println(studentLee);
System.out.println(studentKang);
위와 같이 Student인 타입으로 생성된 instance는 결과를 통해 다른 동적 메모리(heap)에 위치하는 것을 알 수 있다.
ex) studentLee는 ch04라는 패키지에 Student 클래스에 4926097b라는 참조값(reference value)을 갖는다.
반응형
'개발 > Java' 카테고리의 다른 글
생성자 오버로딩 (overloading) (2) | 2021.04.19 |
---|---|
생성자(Constructor) (0) | 2021.04.19 |
함수와 메서드 (0) | 2021.04.19 |
객체와 객체 지향 프로그래밍 (2) | 2021.04.19 |
Break문 & Continue문 (0) | 2021.04.18 |