[자바] Reference와 Object의 차이

2021. 9. 19. 15:10바삭바삭 IT/자바

Reference와 Object

Object는 Class의 인스턴스로 특정 메모리 슬롯에 저장됩니다. Class는 Object를 어떻게 생성해야하는지 설명되어 있는 템플릿 같은 것 입니다.

 

Reference는 'Object 변수나 함수'가 저장된 곳을 가리키고 있습니다. 정확히는 Reference는 object가 저장된 곳의 주소를 일련의 bit로 가지고 있는 것입니다.

 

Reference와 Object의 차이

Object는 실제 데이터나 메모리를 들고있는 현실세계에 실재하는 존재고, Reference는 단지 변수이름에 불과한 '호칭'같은 것입니다.

 

Java에서 Reference란?

Object는 자바에서 절대 직접 사용되지 않습니다. 대신 Reference value를 사용해 마치 Reference value가 대리역할을 해주게끔 합니다. 아래처럼 말이죠.

Car reference_variable = new Car();

 

Java에서 Object란?

Object는 Class에 정의된 상태(state)들이나 행동(behavior)들을 갖게 할 수 있습니다. 상태는 object의 프로퍼티 값들 같은건데 Human이라는 Object는 name, age 같은 상태들을 갖고있습니다.

행동들은 object가 수행하도록 하는데, Human Object를 예로 들면 요리, 걷기, 말하기 입니다. 

class Human {
	String name;
    int age;
    public cook() {}
    public run() {}
}

 

결론

Object는 직접 할당되거나 볼수 있는 존재가 아닙니다. 우리는 Reference라는 Object를 사용하게 도와주는 중간다리 역할을 하는 녀석을 통해 Object를 이용하게 되죠. 

반응형