Variable vs Object vs Reference

1252 단어 JavaJava

🏷️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라는 Classobjectnew라는 키워드를 통해 생성되었다. (정확히는 메모리 할당이 되었다고 하는 게 맞다.)

여기서 주의할 점은 hrsobject가 아니라는 것이다!
hrs는 heap 메모리 공간에 할당되어, object를 pointing하는 reference이다.

좋은 웹페이지 즐겨찾기