Variable vs Object vs Reference
🏷️variable의 종류
1. primitive data type
- int
- char
- float
- boolean
크기 자체가 그닥 크지 않기 때문에, value값을 copy한다.
2. non-primitive data type
- String
- Array
primitive data type을 여러 개 모아놓은 것처럼 크기가 크다. 그래서 value값을 copy하는 데 부담이 되기 때문에, object의 address를 copy한다. (조그마한 상자 안에 냉장고를 우겨넣는다고 상상해보라) 그렇기에 단지 주소를 참조한다는 의미에서 reference variable이라고도 한다.
non-primitive variable = reference variable
3. user-defined classes
🏷️variable과 object의 관계
🏷️reference와 object의 관계
아래의 예시를 보자.
Horse hrs = new Horse();
Horse
라는 Class
의 object
가 new
라는 키워드를 통해 생성되었다. (정확히는 메모리 할당이 되었다고 하는 게 맞다.)
여기서 주의할 점은 hrs
는 object
가 아니라는 것이다!
hrs
는 heap 메모리 공간에 할당되어, object
를 pointing하는 reference
이다.
Author And Source
이 문제에 관하여(Variable vs Object vs Reference), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@seoyoung/Variable-vs-Object-vs-Reference저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)