Back-end/Java

인스턴스 & 동적 메모리

메델 2022. 9. 8. 03:07

1.  용어 정리

  • 객체 : 객체 지향 프로그램의 대상, 클래스의 인스턴스(생성된 인스턴스)
  • 인스턴스:  new키워드를 사용하여 클래스를 메모리에 생성한 상태 , 객체
  • 클래스:  객체의 속성을 정의하고 기능을 구현하여 만들어 놓은 코드 상태, 객체를 만들어 내기 위한 틀 , 필드(멤버변수)와 메소드(멤버 함수)로 구성된다.
  • 필드(멤버 변수):  객체 내에 값을 저장할 멤버 변수 
  • 메소드(멤버 함수):  클래스의 멤버 함수, 멤버 변수를 이용하여 클래스의 기능(객체의 기능)을 구현한 함수 
  • 참조 변수:  메모리에 생성된 인스턴스를 가르키는 변수
  • 참조 값: 생성된 인스턴스의 메모리 주소 값 
public class StudentTest {
	public static void main(String[] args) {
		Student studentLee = new Student();
		
		studentLee.studentID= 12345;
		studentLee.setStudentName("Lee");
		studentLee.address="서울 강남구";
		
		studentLee.showoStudentInfo();
		System.out.println(studentLee);
	}

}

 

2.  heap memory(동적 메모리) 

  • 생성된 인스턴스는 heap memory에 할당 
  • 하나의 클래스로부터 여러 개의 인스턴스 생성, 각각 다른 메모리 주소를 가짐
  • JAVA에서는 Gabage Collector가 주기적으로 사용하지 않는 메모리 수거
  • C와 C++의 경우 사용한 heap memory를 프로그래머가 free(), delete를 이용하여 해지 시켜야 한다.

(참고: fastcampus 한 번에 끝내는 Java/Spring 웹 개발 마스터)

 

'Back-end > Java' 카테고리의 다른 글

자바 기초 정리  (0) 2023.01.30
static 변수  (0) 2022.09.26
접근 제어 지시자 & this  (0) 2022.09.12
생성자  (0) 2022.09.09