๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป/๐๐๐ฏ๐
[Java] ๋ณ์, ์์, ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
๐คRyusun๐ค
2022. 9. 23. 13:40
โญ ๋ณ์์ ์์
- ๋ณ์(variable)
- ์์(constant)
โญ ๋ฆฌํฐ๋ด(literal)
- ๋ฐ์ดํฐ ๊ฐ ์์ฒด
- ๋ณ์์ ๋ด๊ธฐ๋ ๋ณํ์ง ์๋ ๋ฐ์ดํฐ
- ์ข
๋ฅ
- ์ ์ ๋ฆฌํฐ๋ด - ์์์ ์ด ์๋ ๊ฐ
- ์ค์ ๋ฆฌํฐ๋ด - ์์์ ์ด ์๋ ๊ฐ
- ๋ฌธ์ ๋ฆฌํฐ๋ด - ์์ ๋ฐ์ดํ (’)๋ก ๋ฌถ์ ํ ์คํธ
- ๋ฌธ์์ด ๋ฆฌํฐ๋ด - ํฐ ํ์ดํ (”)๋ก ๋ฌถ์ ํ ์คํธ
- ๋ ผ๋ฆฌ ๋ฆฌํฐ๋ด - true/false
โญ ๋ณ์(variable)
- ๋ณํ ์ ์๋ ์๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ
- ๋ณ์์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ๋ฐ๋ ์ ์๋ค.
- ๋ฐ์ดํฐ (๋ฆฌํฐ๋ด, literal)๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์ด๋ฆ์ ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ(์ฆ ๋ณ์๋ฅผ ๋ง๋ค๋ฉด ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ฑ๋๋ค)
- ๋ณ์ ์ ์ํ๋ ๋ฐฉ๋ฒ
- ์๋ฃํ + ๋ณ์ ์ด๋ฆ
- ์๋ฃํ์ ๋ณ์์ ์ด๋ค ํ์
์ ์๋ฅผ ๋ฃ์์ง ์ ์ธํจ
- int (์ ์), float / double (์ค์), char (๋ฌธ์), String (๋ฌธ์์ด), boolean (๋ถ๋ฆฌ์ธ)
- ๋ณ์ ์ข
๋ฅ
- ๊ธ๋ก๋ฒ ๋ณ์ (global variable)
- ๋ฉ์๋ ๋ธ๋ก ๋ฐ์ ์ ์ธ๋ ๋ณ์(static๋ณ์ ๋ผ๊ณ ๋ ํจ)
- ๋ก์ปฌ ๋ณ์ (local variable)
- ์ง์ญ ๋ณ์ ๋ผ๊ณ ๋ ํจ
- ๋ฉ์๋ ๋ธ๋ก ๋ด์ ์ ์ธ๋ ๋ณ์
- ๋ฉ์๋ ์คํ์ด ๋๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์์ ์๋์ผ๋ก ์์ด์ง
- ๊ธ๋ก๋ฒ ๋ณ์ (global variable)
โญ ๋ณ์๊ฐ ์ฌ์ฉํ ๋ ์ฃผ์!
- ๋ณ์๋ ์ด๊ธฐํ๊ฐ ๋์ด์ผ ์ฌ์ฉํ ์ ์์
- ์ด๊ธฐํ๋์ง ์์ ๋ณ์๋ ์ฌ์ฉํ ์ ์์
โญ์์(constant)
- ์ํ์ ์ธ ์๋ฏธ - ์ผ์ ํ, ๋ณํ์ง ์๋
- ์ธ์ ์์์ธ๊น? = ํ๋ก๊ทธ๋จ์์ ๋ณํ์ง ์๊ณ ๊ณ ์ ๋ ๊ฐ์ผ ๊ฒฝ์ฐ ์์๋ฅผ ์ ์ธํ์ฌ ์ฌ์ฉ
- ํ๋ก๊ทธ๋จ์์ ์๋ฌ๊ฐ ๋ ๊ฒฝ์ฐ ์๋ฌ์ฝ๋ / ์๋ฌ๋ฉ์์ง ์ ์ฅํ ๋
- ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ์ ์ธ ํ๊ฒฝ์ค์ ์ ๋ณด (DB ์ ๋ณด / IP ์ฃผ์์ ๋ณด ๋ฑ) ์ ์ฅํ ๋
โก ๋ฉ๋ชจ๋ฆฌ(Memory)
ํ๋ก๊ทธ๋จ ์คํ์์
- ํ๋ก๊ทธ๋จ ์คํ์์ฒญ
- ํ๋ก๊ทธ๋จ์ ์ ๋ณด๋ฅผ ์ฝ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํจ
- CPU๋ ํ๋ก๊ทธ๋จ ์ฝ๋๋ฅผ ๊ฐ์ ธ๋ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ช ๋ น๋ฌธ์ ์คํํจ
- ํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋๋ฉด FreeStore ์์ญ์ ์ฌ์ฉํจ (์๋์ชฝ์ผ๋ก ์ด๋)
- ์คํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋๋ฉด FreeStore ์์ญ์ ์ฌ์ฉํจ (์์ชฝ์ผ๋ก ์ด๋)
โ ์ฌ์ค์ ํ ๋ฉ๋ชจ๋ฆฌ์ ์คํ ๋ฉ๋ชจ๋ฆฌ๋ ๊ฐ์ FreeStore ์์ญ์ ์ฌ์ฉํจ
โ ํ์ด ๋ฉ๋ชจ๋ฆฌ ์์ชฝ ์ฃผ์๋ถํฐ ํ ๋นํ๋ฉด ์คํ์ ์๋์ชฝ๋ถํฐ ํ ๋นํ๋ ์
โ ๊ฐ ์์ญ์ด ์๋ ์์ญ์ ์นจ๋ฒํ ์ ์๊ธฐ ๋๋ฌธ์ ํ ์ค๋ฒํ๋ก์ฐ / ์คํ ์ค๋ฒํ๋ก์ฐ๋ผ๊ณ ํ๋ค.
โญ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
- ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด OS๋ ๋ฉ๋ชจ๋ฆฌ RAM์ ๊ณต๊ฐ์ ํ ๋น
- ํ ๋นํด์ฃผ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ Code, Data, Stack, Heap์ด ์กด์ฌ