참조
- reference(참조)는 프로그램이 메모리나 다른 저장 공간에서 특정 변수의 값이나 레코드에 접근할 수 있도록 하는 값이다. 메모리 상의 객체의 주소 또는 참조값이 그 예시이다.
JAVA에는 primitive type(기본타입)과 reference type(참조타입)이 있다.
primitive type은 java의 메모리 구조 중 Stack 영역에 직접 값을 가지고 있고 reference type은 Heap 영역의 객체 주소를 Stack 영역에 갖고 있ㄷ다.
여기서 주소값은 Stack영역에 갖고있는 heap영역의 객체 주소를 말하는 것이다.
기본 자료형(Primitive Data Type)
- int, float, double, long, boolean...은 기본으로 들어간는 값이 있다
- boolean은 기본값 false
- 기본 자료형은 메소드가 없다
참조 자료형(Non-Primitive, Reference Data Types)
- String, class로 만든 Camera, SpeedCam(내가 만든 클래스) 등
- 참조 자료형은 메소드가 있다
Camera c1 = new Camera();
Camera c2 = new Camera();
- c1, c2 객체는 어딘가 만들어진 Camera()를 참조하고 있다
c2 = c1;
- c2가 c1를 참조하게 된다.
- c1이 참조하는 new Camera()를 c2도 참조하게 된다.
- c2값이 변하면 c2가 참조하는 c1의 new Camera()값이 변하고 c1의 참조하는 Camera()값도 변한다
참고
나도코딩 유튜브