프로그램이 하는 일은 결국 데이터를 처리하는 것이므로, 데이터를 얼마나 잘 다루느냐가 좋은 프로그램을 작성할 수 있는 관건이 된다.
기본 타입과 참조 타입의 차이는 저장되는 값이 무엇이냐이다.
예를 들어 다음과 같은 코드가 있다.
[기본 타입 변수]
int age = 25;
double price = 100.5;
[참조 타입 변수]
String name = "신용권";
String hobby = "독서";
int
와 double
변수인 age
와 price
는 직접 값을 저장하고 있지만, String
클래스 변수인 name
과 hobby
는 힙 영역의 String
객체 주소 값을 갖고 있다.
참조 타입을 알아보기 전에 JVM이 사용하는 메모리 영역에 대해서 알아본다.
java.exe
로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역(Runtime Data Area)을 다음과 같이 세부 영역으로 구분해서 사용한다.