Primitive Type & Reference Type

Primitive Type (๊ธฐ๋ณธํ˜•)

  • Stack์— ์ €์žฅ๋œ๋‹ค.

  • ์ตœ์ƒ์œ„ ํด๋ž˜์Šค์ธ java.lang.Object๋ฅผ ์ƒ์†ํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • Java์—์„œ ๋ฏธ๋ฆฌ ์ •์˜ํ•œ 8๊ฐ€์ง€๋งŒ์ด ๊ธฐ๋ณธํ˜•์— ํฌํ•จ๋œ๋‹ค.

  • null์„ ํ• ๋‹นํ•  ์ˆ˜ ์—†๋‹ค. ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ

Reference Type (์ฐธ์กฐํ˜•)

  • Heap์— ์ €์žฅ๋œ๋‹ค.

  • ๋ชจ๋“  ์ฐธ์กฐํ˜• ์ž๋ฃŒํ˜•์€ ์ตœ์ƒ์œ„ ํด๋ž˜์Šค์ธ java.lang.Object ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•œ๋‹ค.

  • 8๊ฐ€์ง€ ๊ธฐ๋ณธํ˜•์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ ์ฐธ์กฐํ˜•์— ํ•ด๋‹นํ•œ๋‹ค.

  • null์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. null์ด ํ• ๋‹น๋œ ์ฐธ์กฐํ˜• ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ ค๊ณ  ํ•˜๋ฉด NullPointerException์ด ๋ฐœ์ƒํ•œ๋‹ค.

  • ํ• ๋‹น๋˜์ง€ ์•Š์€ ๊ณต๊ฐ„๋“ค์€ GC๊ฐ€ ๋Œ๋ฉด์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•œ๋‹ค.

  • 4๊ฐ€์ง€ ์œ ํ˜•์ด ์กด์žฌํ•œ๋‹ค. ํด๋ž˜์Šคํ˜•(class type), ์ธํ„ฐํŽ˜์ด์Šคํ˜•(interface type), ๋ฐฐ์—ดํ˜•(array type), ์—ด๊ฑฐํ˜•(enum type), ์šฐ๋ฆฌํ˜•(my brother)

  • ์ฐธ์กฐํ˜• ์ค‘์—์„œ๋„ ํŠน๋ณ„ํ•œ ์ž๋ฃŒํ˜•์ธ String์€ ๋‹ค์Œ์˜ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.

    • Primitive์ฒ˜๋Ÿผ ์ƒ์„ฑํ•œ๋‹ค. ์ฆ‰, new ๋ฌธ๋ฒ• ์—†์ด ์ƒ์„ฑํ•œ๋‹ค.

    • ๋ถˆ๋ณ€(immutable) ๊ฐ์ฒด์ด๋‹ค. ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋ชจ๋“  ์ผ์€ ์‚ฌ์‹ค ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์–ด ํ• ๋‹น๋˜๋Š” ๊ฒƒ์ด๋‹ค.

    • ๋‹ค๋ฅธ ์ฐธ์กฐํ˜•์ฒ˜๋Ÿผ equals ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ’์„ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค.


์ถœ์ฒ˜: https://jdm.kr/blog/213

Last updated