스택영역은 정적할당에, 힙영역은 동적할당에 이용된다.
스택에는 지역변수가 저장되어 호출이 끝나면 소멸된다.
힙에는 new명령으로 생선된 인스턴스 변수(사용자의 동적할당)가 저장, 메소드 호출이 끝나도 소멸되지 않는다.
클래스, 함수, 문자열, 숫자 모든 것은 객체이다.
a = 1
b = 1
이라고 했다면 1이라는 객체를 만들고 이를 a와 b가 참조하게 된다.
1이라는 객체는 메모리의 힙영역에 저장하고, 참조자는 스택 영역에 저장된다.
위에서 살펴본 것과 같이 모든 객체는 메모리의 힙영역에, 참조자는 스택영역에 저장.
객체 중 reference count가 0이 되는 경우 메모리 해제하는 방식으로 메모리를 동적할당한다.
https://jay-ji.tistory.com/105
https://pearlluck.tistory.com/758