Post

heap&stack

๐Ÿงheap์ด๋ž€?

์ž๋ฐ”์—์„œ heap์€ ๋™์ ์œผ๋กœ ํ• ๋‹น๋œ ๊ฐ์ฒด๋“ค์„ ์ €์žฅํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ

์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ (JVM)์€ heap์„ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฐ์ฒด ์ƒ์„ฑ, ์ฐธ์กฐ, ์ฐธ์กฐ ํ•ด์ œ๋ฅผ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ

์ž๋ฐ”์—์„œ ๋ณ€์ˆ˜๋‚˜ ๋ฐฐ์—ด์€ ์Šคํƒ(stack) ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ €์žฅ

๊ฐ์ฒด๋Š” heap ์˜์—ญ์— ์ €์žฅ

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ์ž๋ฐ”๋Š” heap ์˜์—ญ์—์„œ ์ถฉ๋ถ„ํ•œ ํฌ๊ธฐ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ๊ฐ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”

์ดํ›„์— ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ณ€์ˆ˜๋‚˜ ๋ฐฐ์—ด ์š”์†Œ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

heap ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(Garbage Collection)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌ

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์€ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜๊ณ 

ํ•ด๋‹น ๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜์—ฌ ๋‹ค๋ฅธ ๊ฐ์ฒด๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ

๐Ÿงstack์ด๋ž€?

์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ์˜ ํ•œ ์˜์—ญ์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜์ž„

ํ›„์ž…์„ ์ถœ(Last-In-First-Out, LIFO) ๋ฐฉ์‹

๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์ถ”๊ฐ€๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ œ๊ฑฐ๋˜๋Š” ๊ตฌ์กฐ

์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ง€์—ญ ๋ณ€์ˆ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋“ฑ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ, ํ•ด๋‹น ํ•จ์ˆ˜์˜ ์ง€์—ญ ๋ณ€์ˆ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์Šคํƒ์— ์ €์žฅ

ํ•จ์ˆ˜ ์‹คํ–‰์ด ์™„๋ฃŒ๋˜๋ฉด, ํ•ด๋‹น ์ง€์—ญ ๋ณ€์ˆ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์Šคํƒ์—์„œ ์ œ๊ฑฐ

์Šคํƒ์€ ํ•จ์ˆ˜ ํ˜ธ์ถœ์˜ ํ˜•ํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ํ•จ์ˆ˜ ์‹คํ–‰์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ํ•จ์ˆ˜์™€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€

์Šคํƒ์€ ํŠน์ • ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์Šคํƒ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์Šคํƒ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด

์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(Stack Overflow)๊ฐ€ ๋ฐœ์ƒ

This post is licensed under CC BY 4.0 by the author.