Java.참조(Reference)

kimkim·2024년 9월 2일

Java. 공부내용정리

목록 보기
12/38
post-thumbnail

참조

: 객체를 담는 클래스명의 변수의 리모컨

참조란?

  • 객체를 생성하고 변수를 쓸 때 변수 그 자체에 객체를 넣지 않는다.
  • 변수에는 객체를 컨트롤 할 수 있는 리모컨이 담아진다.
  • 이때 저장되는 작은 크기의 리모콘을 참조값이라고도 한.

참조를 쓰는 이유

  1. 자바의 변수는 최대크기가 제한되어 있다.
  2. 변수의 크기는 8바이트 정도이다.
  3. 숫자 int의 크기는 4바이트
  4. 숫자가 담겨져 있는 3개의 변수를 가진 객체는 12바이트이다.
  5. 고로, 변수에 객체가 들어갈 수는 없다.
  6. 대신 객체를 조정할 수 있는 참조(리모컨)을 넣는다.

예시

public class Regerence{
	public static void main(String[] args){
 		Test t1 = new Test();
        
        t1.num1 = 10;
        System.out.println(t1.num1); // 10
        
        Test t2 = t1;
        System.out.println(t2.num1); //10
        
        t2.num1 = 100;
        System.out.println(t1.num1); //100
        
        Test t3; // 객체 X. 객체의 리모콘을 저장할 변수.
        // 대입한 것이 없기 때문에 비어 있다.
        
        Test t4 = new Test();
        // 객체가 생성+해당 객체를 조종할 수 있는 리모콘이 같이 생성됨
    }
}

class Test{
	int num1;
}

가비지컬렉터
리모콘을 잃어버리게 되면 해당 객체에 접근할 수 있는 방법이 없다.
위와 같이 리모콘과 연결이 해제된 객체를 가비지 객체라고 해서 나중에 자바가 싹 다 지워버린다.
리모컨을 잃어버리지 않게 조심해야한다.

0개의 댓글