ํธ์ถ ์คํ(call stack)
- ์คํ(stack) : ๋ฐ์ด ๋งํ ์์. ์์ ์ฐจ๊ณก์ฐจ๊ณก ์์ธ๋ค.
- ํธ์ถ ์คํ(call stack) : ๋ฉ์๋ ์ํ์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ๊ณต๋๋ ๊ณต๊ฐ
๋ฉ์๋๊ฐ ํธ์ถ๋๋ฉด ํธ์ถ์คํ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น, ์ข ๋ฃ ์ ํด์
๊ธฐ๋ณธํ ๋งค๊ฐ๋ณ์(read only)
์ฐธ์กฐํ ๋งค๊ฐ๋ณ์(read & write)
๋ฐํํ์ ์ด ์ฐธ์กฐํ์ธ ๊ฒฝ์ฐ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ๋ฐํํ๋ค.
์ธ์คํด์ค = ๊ฐ์ฒด = iv ๋ฌถ์
์ธ์คํด์ค ๋ณ์(iv) : ๊ฐ๋ณ์์ฑ, ๊ฐ์ฒด๋ง๋ค ๋ง๋ค์ด์ง
ํด๋์ค ๋ณ์(cv) : ๊ณตํต์์ฑ, 1๊ฐ๋ง ๊ณต์
๋งค๊ฐ๋ณ์ : ๋ฉ์๋๋ฅผ ํธ์ถํ ์ชฝ์์ ์ค ๊ฐ์ ์ ๋ฌํ๋ ์ค๊ฐ์ญํ , ๋งค๊ฐ์ฒด
๋ฉ์๋๋ ํด๋์ค ์์ญ์๋ง ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
์ธ์คํด์ค ๋ฉ์๋
- ์ธ์คํด์ค ์์ฑ ํ, '์ฐธ์กฐ๋ณ์.๋ฉ์๋์ด๋ฆ()'์ผ๋ก ํธ์ถ
- ์ธ์คํด์ค ๋ฉค๋ฒ(iv, im)์ ๊ด๋ จ๋ ์์ ์ ํ๋ ๋ฉ์๋
- ๋ฉ์๋ ๋ด์์ ์ธ์คํด์ค ๋ณ์(iv) ์ฌ์ฉ ๊ฐ๋ฅ
static ๋ฉ์๋(ํด๋์ค ๋ฉ์๋)
- ๊ฐ์ฒด์์ฑ์์ด 'ํด๋์ค์ด๋ฆ.๋ฉ์๋์ด๋ฆ()'์ผ๋ก ํธ์ถ
- ์ธ์คํด์ค ๋ฉค๋ฒ(iv, im)์ ๊ด๋ จ์๋ ์์ ์ ํ๋ ๋ฉ์๋
- ๋ฉ์๋ ๋ด์์ ์ธ์คํด์ค ๋ณ์(iv) ์ฌ์ฉ ๋ถ๊ฐ
๋์ ์ฐจ์ด : iv ์ฌ์ฉ ์ฌ๋ถ
์ธ์คํด์ค ๋ฉค๋ฒ(iv, im)์ ์ฌ์ฉํ์ง ์๋ ๋ฉ์๋์ static์ ๋ถ์ธ๋ค.
> ๋ฉ์๋๋ ๊ณตํต์ผ๋ก ์จ์ static์ ๋ถ์ด๋ ๊ฒ ์๋๋ผ iv๋ฅผ ์ ์ฐ๋ฉด static์ ๋ถ์ด๋ ๊ฒ์ด๋ค.
์ค๋ฒ๋ก๋ฉ
๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋ ์ฌ๋ฌ๊ฐ ์ ์
<์ค๋ฒ๋ก๋ฉ์ด ์ฑ๋ฆฝํ๊ธฐ ์ํ ์กฐ๊ฑด>
- ๋ฉ์๋ ์ด๋ฆ์ด ๊ฐ์์ผ ํ๋ค.
- ๋งค๊ฐ๋ณ์์ ๊ฐ์ ๋๋ ํ์ ์ด ๋ฌ๋ผ์ผํ๋ค.
- ๋ฐํํ์ ์ ์ํฅ์๋ค.
์์ฑ์
- ์ธ์คํด์ค(๊ฐ์ฒด=iv ๋ฌถ์) ์ด๊ธฐํ ๋ฉ์๋
- ์ด๋ฆ์ด ํด๋์ค ์ด๋ฆ๊ณผ ๊ฐ์์ผ ํ๋ค.
- ๋ฆฌํด๊ฐ์ด ์๋ค(void ์ ๋ถ์)
- ๋ชจ๋ ํด๋์ค๋ ๋ฐ๋์ ์์ฑ์๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค.
๊ธฐ๋ณธ ์์ฑ์
- ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์์ฑ์
- ํด๋์ค์ ์์ฑ์๊ฐ ํ๋๋ ์์ ๋๋ง, ์ปดํ์ผ๋ฌ๊ฐ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์๋์ผ๋ก ์ถ๊ฐํด์ค๋ค.
โ ์์ฑ์๋ ๋ฌด์กฐ๊ฑด ๊ธฐ๋ณธ์ผ๋ก ์์ฑํ๋ค. ์ปดํ์ผ๋ฌ ์๋์ถ๊ฐ ๊ธฐ๋ฅ์ ์์กดํ๊ธฐ ์๊ธฐโ
์์ฑ์ this()
- ์์ฑ์์์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถํ ๋ ์ฌ์ฉ(ํด๋์ค ์ด๋ฆ X this O)
- ๋ค๋ฅธ ์์ฑ์ ํธ์ถ ์ ์ฒซ ์ค์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
์ฝ๋์ ์ค๋ณต์ ์ ๊ฑฐํ๋ ค๊ณ ์ฌ์ฉํ๋ค.
์ฐธ์กฐ๋ณ์ this
- ์ธ์คํด์ค ์์ ์ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๋ณ์, ์ธ์คํด์ค์ ์ฃผ์๊ฐ ์ ์ฅ๋์ด ์๋ค.
- ์ธ์คํด์ค ๋ฉ์๋(์์ฑ์ ํฌํจ)์์ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ง์ญ๋ณ์(lv)์ ์ธ์คํด์ค ๋ณ์(iv)๋ฅผ ๊ตฌ๋ณํ ๋ ์ฌ์ฉ
- ๋ชจ๋ ์ธ์คํด์ค ๋ฉ์๋์ ์ง์ญ๋ณ์๋ก ์จ๊ฒจ์ง ์ฑ๋ก ์กด์ฌํ๋ค.
this์ this()๋ ๋น์ทํ๊ฒ ์๊ฒผ์ ๋ฟ ์์ ํ ๋ค๋ฅธ ๊ฒ์ด๋ค. this๋ '์ฐธ์กฐ ๋ณ์'์ด๊ณ this()๋ '์์ฑ์'์ด๋ค.
๋ฉค๋ฒ๋ณ์์ ์ด๊ธฐํ
- ์๋์ด๊ธฐํ
- ๊ฐ๋จ์ด๊ธฐํ(๋ช ์์ ์ด๊ธฐํ - =)
- ๋ณต์ก์ด๊ธฐํ( {}, static {}, ์์ฑ์)
ํด๋์ค ๋ณ์(cv) ์ด๊ธฐํ ์์ : ํด๋์ค๊ฐ ์ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉ๋ ๋ ๋จ ํ ๋ฒ
์ธ์คํด์ค ๋ณ์(iv) ์ด๊ธฐํ ์์ : ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ๋ง๋ค
'Back-End > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ์ ์ ์ 4์ฅ: ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ (0) | 2024.01.23 |
---|---|
์๋ฐ์ ์ ์ 3์ฅ: ์ฐ์ฐ์(Operator) (0) | 2024.01.23 |
์๋ฐ์ ์ ์ 2์ฅ: ๋ณ์(variable) (0) | 2024.01.23 |
์๋ฐ์ ์ ์ 1์ฅ: ์๋ฐ๋ฅผ ์์ํ๊ธฐ ์ ์ (0) | 2024.01.23 |
[Java] toString()๊ณผ String.valueOf()์ ์ฐจ์ด์ ๋น๊ต (0) | 2022.01.18 |