자바는 크게 두 가지 데이터 타입으로 분류할 수 있습니다.
타입에서는 우리가 흔히 알고 있는 (byte,short,int,long,,float,double,char,boolean) 이 8가지는 모두 크기도 다르며 데이터의 범위도 다릅니다. 이외에 모두 참조(reference) == 객체(object) 타입이라고 볼수 있습니다.
타입에서 우리가 흔히 알고 있는 데이터 타입은 string입니다. 원시 타입에서 말했던 8가지의 타입도 래퍼 클래스(wrapper class)를 이용하여 참조 타입으로 사용할 수도 있습니다.
이 두 가지의 차이점을 알기 위해서는 컴퓨터상의 메모리에서 어떻게 존재하는지 알아봐야 합니다.
원시 타입은 메모리상에 어딘가 변수의 이름으로 값이 저장됩니다.
참조 타입은 변수의 이름으로 값이 저장되는 것이 아닌 값이 있는 주소를 저장합니다. 해당 주소에 접근하면 실제 값에 접근하게 됩니다
실제 값이 바뀌는 것이 아닌 새로운 주소를 가리키게 됩니다.
앞서 말한 두 가지 데이터 타입을 왜 알아야 할까?
이해하지 못한다면 우리가 의도하지 못한 버그가 일어날 수도 있기 때문에 알아야 합니다.