๐Ÿ’ป

Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ๋ฐฐ์—ด(Array) ๋ณธ๋ฌธ

KITRI/JAVA

Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ๋ฐฐ์—ด(Array)

๋˜ํšจ๋‹ˆ 2020. 4. 28. 16:28
  • ๋ฐฐ์—ด

๋ณ€์ˆ˜๋Š” ํ•œ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•˜์ง€๋งŒ, ๋ฐฐ์—ด์€ ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†๋œ ๊ณต๊ฐ„์— ์ €์žฅํ•˜๋ฏ€๋กœ ์†๋„๋ฉด์—์„œ ์ข‹๋‹ค.

๊ฐ ๋ฐ์ดํ„ฐ๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค. 

 

 

๋ฐฐ์—ด์€ ์ƒ์„ฑ ์‹œ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋œ๋‹ค. 

 

 

 

 

๋นจ๊ฐ„(์Šคํƒ์˜์—ญ), ํŒŒ๋ž€์ƒ‰(ํž™์˜์—ญ)

 

 

b๋Š” array์˜ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

 

์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝ ํ•˜๊ฒŒ ๋œ๋‹ค. ( ๋งŒ์•ฝ, ์ฃผ์†Œ๊ฐ’์„ ์ฐธ์กฐํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•ด์„œ array 20byte + b 20btye = 40byte ๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋˜์ง€๋งŒ b๊ฐ€ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๋ฉด array 20 byte + b 1byte = 21btye)

์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ณ  heap์˜์—ญ์—์„œ ํ•ด๋‹น ์ฃผ์†Œ๊ฐ’์„ ์ฐพ์•„๊ฐ€์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค. 

 

 

๋ฐฐ์—ด = null; ์“ฐ์ง€ ์•Š์•„๋„ ์ƒ๊ด€์—†๋‹ค. 

 

C๋‚˜ C++์€ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์ด ์—†๊ธฐ๋•Œ๋ฌธ์—, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ ํ•ด์ค˜์•ผํ•œ๋‹ค. ์ด๋•Œ, ๋งŒ์•ฝ ์ฐธ์กฐํ•˜๋˜ ๋ฐฐ์—ด์ด ์žˆ๋Š”๋ฐ ์‹ค์ˆ˜๋กœ ๋ฉ”๋ชจ๋ฆฌํ•ด์ œ ํ•ด๋ฒ„๋ฆฐ ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

์œ„์—์„œ๋Š” heap์˜์—ญ๊ณผ stack์˜์—ญ์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด์˜€๋‹ค.

์•„๋ž˜์˜ ๊ฒฝ์šฐ๋Š” ๋ธ”๋Ÿญ์—์„œ์˜ ๋ณ€์ˆ˜์˜ ์œ ํšจ์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค.

 

 

 

๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

 

DS(Data Segmentation) ์—์„œ heap์˜ ๋ฐ์ดํ„ฐ๋Š” stack์ด ์ฐธ์กฐํ•˜๊ณ  ์žˆ์œผ๋ฉด ์†Œ๋ฉธ๋˜์ง€ ์•Š๋Š”๋‹ค.

stack์€ ๋ธ”๋Ÿญ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ, ์†Œ๋ฉธ๋œ๋‹ค. 

 

 

  • ๋ฐฐ์—ด ์„ ์–ธ ๋ฐฉ๋ฒ•

 

๋ฐ˜์‘ํ˜•
Comments