Part2. 2-5 인스턴스 생성과 힙 메모리 (with. 파인만 기법 + 문제출제)
객체 : 객체 지향 프로그램의 대상, 생성된 인스턴스
클래스 : 객체를 프로그래밍 하기위해 코드로 정의해 놓은 상태
객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태
인스턴스 : new 키워드를 사용하여 클래스를 메모리에 생성한 상태
Student studentLee = new Student();
//클래스 참조변수 생성자
멤버 변수 : 클래스의 속성, 특성
메서드 : 멤버 변수를 이용하여 클래스의 기능을 구현한 함수
참조 변수 : 메모리에 생성된 인스턴스를 가리키는 변수
참조 값 : 생성된 인스턴스의 메모리 주소값
Student studentLee = new Student();
//클래스 참조변수 생성자
참조변수, 인스턴스 변수, 멤버 변수 총정리
참조 변수 : studentKim (스택 메모리) 인스턴스 변수 : studentKim.studentId (힙 메모리) 멤버 변수 : studentId (힙 메모리) 인스턴스 : new student(); (힙 메모리)
computer-science-library.tistory.com
참조변수, 인스턴스 변수와 스택, 힙 메모리에 대한 이해
참조변수, 인스턴스 변수와 스택, 힙 메모리에 대한 이해
Student studentKim = new Student(); //참조변수 Student 객체studentKim.studentId = 10; // 인스턴스 변수 studentKim : 참조변수 --> 스택 메모리 : 메서드( main함수 or 기타 메서드) 안에서 선언된 지역 변수이기 때문이
computer-science-library.tistory.com
멤버변수와 인스턴스 변수의 차이
둘의 관계는 멤버변수가 인스턴스 변수를 포함하는 관계이다.
computer-science-library.tistory.com
new 키워드를 사용하여 인스턴스 생성
하나의 클래스로 부터 여러개의 인스턴스가 생성되고 각각 다른 메모리 주소를 가지게 됨
생성된 인스턴스는 힙 메모리 (heap memory), 동적 메모리 에 할당된다
C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제 시켜야 함 ( C: malloc + free() / C++: new + delete )
자바에서는 Gabage Collector 가 주기적으로 사용하지 않는 메모리를 수거

[ 문제 : 하나의 클래스에서는 하나의 인스턴스가 생성될 수 있다. o,x ]
[ 문제 : 인스턴스가 할당되는 동적 메모리의 명칭은? ]