Reference Type

java์—์„œ ์›์‹œ ํƒ€์ž…์„ ์ œ์™ธํ•˜๋ฉด ๋ชจ๋‘ Reference Type์ด๋‹ค.

  • ๋ฐฐ์—ด(Array), ํด๋ž˜์Šค(Class), ์ธํ„ฐํŽ˜์ด์Šค(Interface), ์—ด๊ฑฐ(Enum) ํƒ€์ž…์ด ์กด์žฌํ•œ๋‹ค.

  • ๋นˆ ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•˜๋Š” NULL์ด ์กด์žฌํ•œ๋‹ค.

  • Heap ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ƒ์„ฑ๋œ๋‹ค.

    • JVM์˜ Stack ์˜์—ญ์— ์กด์žฌํ•˜๋Š” ์ฐธ์กฐ๊ฐ’์„ ๊ฐ€์ง€๋Š” ํฌ์ธํ„ฐ๋ฅผ ํ†ตํ•ด์„œ ์ ‘๊ทผํ•œ๋‹ค.

String str1 = "address 1"
String str2 = new String("address 2");
String str3 = "address 1"
  • ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋Š” "=="๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ’์ด ์•„๋‹ˆ๋ผ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋น„๊ตํ•œ๋‹ค.

    • str1 != str2

    • str1 == str3

    • ๋งŒ์•ฝ str2์˜ ๊ฐ’์ด "address 1" ์ด์–ด๋„ ์ฐธ์กฐํ•˜๋Š” ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๊ฐ์ฒด์ด๋‹ค.

Last updated