๐ŸŒ WEB/JAVA

[JAVA] ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ๋ถ„๋ฅ˜

์• ์ •์“ฐ 2020. 6. 23. 19:37

 

๊ธฐ๋ณธํƒ€์ž… / ์ฐธ์กฐํƒ€์ž… ์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

(immutable / mutable)


๊ธฐ๋ณธํƒ€์ž…์€ ์ •์ˆ˜, ์‹ค์ˆ˜, ๋ฌธ์ž, ๋…ผ๋ฆฌ ๋ฆฌํ„ฐ๋Ÿด์„ ์ €์žฅํ•˜๋Š” ํƒ€์ž…์ž…๋‹ˆ๋‹ค.

์ข…๋ฅ˜ ๊ธฐ๋ณธํƒ€์ž… ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ณธ๊ฐ’
์ •์ˆ˜ byte 8bit  1byte 0
char 16bit  2byte ์œ ๋‹ˆ์ฝ”๋“œ(\u0000), ASCII, ๋ฌธ์žํ˜•
short 16bit  (2byte) 0
int 32bit  (4byte) 0
long 64bit (8byte) 0
์‹ค์ˆ˜ (๋ถ€๋™ ์†Œ์ˆ˜์ ) float 32bit  (4byte) 0.0F
double 8bit  (1byte) 0.0
๋…ผ๋ฆฌ boolean 8bit  (1byte) false

๋ฉ”๋ชจ๋ฆฌ์—๋Š” 0๊ณผ 1์„ ์ €์žฅํ•˜๋Š” ์ตœ์†Œ ๊ธฐ์–ต ๋‹จ์œ„์ธ bit๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด bit 8๊ฐœ๋ฅผ ๋ฌถ์œผ๋ฉด byte๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ด byte๊ฐ€ ํด์ˆ˜๋ก ํ‘œํ˜„ํ•˜๋Š” ๊ฐ’์œผ ๋ฒ”์œ„๊ฐ€ ์ปค์ง‘๋‹ˆ๋‹ค. ๋ฒ”์œ„๋ฅผ ๊ธฐ์–ตํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ํฌ๊ธฐ๋Š” ๊ธฐ์–ตํ•ด๋‘๋Š”๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•˜๊ฒŒ ๋˜๋ฉด ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์›ํ•˜์ง€ ์•Š๋Š” ์ด์ƒํ•œ ๊ฐ’์ด ๋ณ€์ˆ˜์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 


์ฐธ์กฐ ํƒ€์ž…์€ ๊ฐ์ฒด์˜ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํƒ€์ž…์œผ๋กœ ๋ฐฐ์—ด, ํด๋žซ, ์—ด๊ฑฐ, ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

 

๊ธฐ๋ณธํƒ€์ž…์—์„œ ์‹ค์ œ ๊ฐ’์„ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜์ง€๋งŒ ์ฐธ์กฐ ํƒ€์ž…์€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ ๊ฐ’์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•œ๋‹ค๋Š” ๋œป์œผ๋กœ ์ฐธ์กฐ ํƒ€์ž…์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

 

Stack์— ์ฃผ์†Œ ์ €์žฅ ์‹ค์ œ๊ฐ’์€ Heap

 

๊ธฐ๋ณธํƒ€์ž…์€ Stack์˜์—ญ์— ์ƒ์„ฑ๋˜๊ณ , ์ฐธ์กฐํƒ€์ž…์€ ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Heap์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

 

๋” ์ž์„ธํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

 

 

๋ฐ˜์‘ํ˜•