기본형 vs 참조형

최주영·2024년 4월 4일
0

자바

목록 보기
24/30
post-custom-banner

기본형 : int, long, double, boolean 처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입
참조형 : 객체 또는 배열과 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입

쉽게말해 기본형 변수에는 직접 사용할 수 있는 값이 들어있고
참조형 변수에는 위치(참조값)이 들어가 있다 ex) 001x
참조형 변수를 통해서 먼가를 하려면 참조값을 통해 해당 위치로 이동해야 한다

참조형 변수는 참조값을 통해 같은 객체(인스턴스)를 공유한다

객체는 . (dot)을 통해서 메모리 상에 생성된 객체를 찾아가야 사용할 수 있다
배열은 [] 을 통해서 메모리 상에 생성된 배열을 찾아가야 사용할 수 있다

String은 클래스이다 -> 참조형
하지만 기본형처럼 문자 값을 바로 대입할 수 있다
문자는 자주 다루기 때문에 자바에서 특별하게 편의 기능을 제공!


✅ 참조형 대입

Data dataA = new Student(); 
Data dataB = dataA; 

Data dataB = dataA; 은 실제 객체가 아닌, 객체의 위치를 가르키는 참조값만 복사됨
즉 건물이 복사가 되는것이 아닌 건물의 위치인 주소만 복사되는 것!

만약 dataA.value = 20 이라면 dataB.value 의 값은 무엇이 나올까?
당연히 둘 중 하나가 값이 바뀌면 가리키고 있는 참조값이 같기 때문에 실제 인스턴스 값은 동일해진다


✅ null

  • 참조형 변수에 가리키는 대상이 없을 때 null이라는 특별한 값을 넣어둘 수 있음
data = null // data 변수는 Data 인스턴스를 더이상 참조하지 않음


GC : 가리비컬렉션으로 아무도 참조하지 않는 인스턴스를 제거해준다

profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!
post-custom-banner

0개의 댓글