๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ—‚.๋Œ€์™ธํ™œ๋™/๐Ÿ“.์นด์นด์˜คํด๋ผ์šฐ๋“œ์Šค์ฟจ

[JAVA] ํด๋ž˜์Šค์™€ ๋ฉ”๋ชจ๋ฆฌ

by ๐Ÿ’พ๊ณ ๊ตฌ๋งˆ๋ง›ํƒ•๋จน๊ณ ์‹ถ๋‹ค 2023. 12. 13.
728x90

๐ŸŽ„ ํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ด€๊ณ„

 

Stack: ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ํ• ๋‹น

Heap: ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์˜ ์‹ค์ œ ๋ณ€์ˆ˜ ๊ฐ’๊ณผ ํ•จ์ˆ˜์˜ ์ฃผ์†Œ ๊ฐ’

Code: ํด๋ž˜์Šค ์ด ์ฝ”๋“œ, Heap์—์„œ ์ด๊ณณ์˜ ํ•จ์ˆ˜์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

๋”๋ณด๊ธฐ

โœจ  ์ฐธ์กฐํ˜•(์ฃผ์†Œ)

Class๋ฅผ ์˜๋ฏธ(ํ•˜๋‚˜๋ฐ–์— ์—†์Œ)ํ•œ๋‹ค.

 ์‚ฌ์šฉ์ž ์ •์˜, ์ฆ‰ ์‚ฌ์šฉ์ž type = style, ๋”ฐ๋ผ์„œ Heap์— ์ €์žฅ๋˜๊ฒŒ ๋œ๋‹ค.

 

โœจ ์‹œ์Šคํ…œ์˜ ๊ด€์ ์—์„œ ํด๋ž˜์Šค๋Š” ๊ฐ™์€ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ์‹œํ‚จ ์ธ์Šคํ„ด์Šค ๊ฐ„์— ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ž‘์„ฑ๋œ ์„ ์–ธ๋ฌธ์ด๋‹ค.

 

๐ŸŽ„ ๋ฉ”๋ชจ๋ฆฌ

 


1) Stack ์Šคํƒ
์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜
๋ธ”๋ก(์Šค์ฝ”ํ”„) ๋ฒ—์–ด๋‚˜๋ฉด ์†Œ๋ฉธ, Heap๋ณด๋‹ค ๋น ๋ฅด๋‹ค.

2) Heap ํž™
ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌ(ํ• ๋‹น/ํ•ด์ œ)ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(new/ํฌ์ธํ„ฐ), ์ž๋ฐ”์—์„œ๋Š” ์‚ญ์ œ๋ฅผ ์•Œ์•„์„œ ํ•ด์ค€๋‹ค.

3) Data ๋ฐ์ดํ„ฐ
์ „์—ญ๋ณ€์ˆ˜, Static ๋ณ€์ˆ˜, ์ƒ์ˆ˜
ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋ฐ์ดํ„ฐ ์ €์žฅํ•œ๋‹ค.
728x90