๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Java] ๋ณ€์ˆ˜, ์ƒ์ˆ˜, ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ๋ณธ๋ฌธ

๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ด๐Ÿ’ป/๐‰๐š๐ฏ๐š

[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)
      • ์ง€์—ญ ๋ณ€์ˆ˜ ๋ผ๊ณ ๋„ ํ•จ 
      • ๋ฉ”์†Œ๋“œ ๋ธ”๋ก ๋‚ด์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜
      • ๋ฉ”์†Œ๋“œ ์‹คํ–‰์ด ๋๋‚˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ž๋™์œผ๋กœ ์—†์–ด์ง

โญ ๋ณ€์ˆ˜๊ฐ’ ์‚ฌ์šฉํ• ๋–„ ์ฃผ์˜!

  • ๋ณ€์ˆ˜๋Š” ์ดˆ๊ธฐํ™”๊ฐ€ ๋˜์–ด์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

 

โญ์ƒ์ˆ˜(constant)

  • ์ˆ˜ํ•™์ ์ธ ์˜๋ฏธ - ์ผ์ •ํ•œ, ๋ณ€ํ•˜์ง€ ์•Š๋Š”
  • ์–ธ์ œ ์ƒ์ˆ˜์“ธ๊นŒ? = ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ๊ณ ์ •๋œ ๊ฐ’์ผ ๊ฒฝ์šฐ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•˜์—ฌ ์‚ฌ์šฉ
    • ํ”„๋กœ๊ทธ๋žจ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚œ ๊ฒฝ์šฐ ์—๋Ÿฌ์ฝ”๋“œ / ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ์ €์žฅํ•  ๋–„
    • ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ์ ์ธ ํ™˜๊ฒฝ์„ค์ •์ •๋ณด (DB ์ •๋ณด / IP ์ฃผ์†Œ์ •๋ณด ๋“ฑ) ์ €์žฅํ•  ๋•Œ
      •  

 


โšก ๋ฉ”๋ชจ๋ฆฌ(Memory)

 

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์ˆœ์„œ

  1. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์š”์ฒญ
  2. ํ”„๋กœ๊ทธ๋žจ์˜ ์ •๋ณด๋ฅผ ์ฝ์–ด ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•จ
  3. CPU๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ๋‹ค ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ช…๋ น๋ฌธ์„ ์‹คํ–‰ํ•จ
  4. ํž™ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋˜๋ฉด FreeStore ์˜์—ญ์„ ์‚ฌ์šฉํ•จ (์•„๋ž˜์ชฝ์œผ๋กœ ์ด๋™)
  5. ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋˜๋ฉด FreeStore ์˜์—ญ์„ ์‚ฌ์šฉํ•จ (์œ„์ชฝ์œผ๋กœ ์ด๋™)

โ— ์‚ฌ์‹ค์ƒ ํž™ ๋ฉ”๋ชจ๋ฆฌ์™€ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ฐ™์€ FreeStore ์˜์—ญ์„ ์‚ฌ์šฉํ•จ

โ— ํž™์ด ๋ฉ”๋ชจ๋ฆฌ ์œ„์ชฝ ์ฃผ์†Œ๋ถ€ํ„ฐ ํ• ๋‹นํ•˜๋ฉด ์Šคํƒ์€ ์•„๋ž˜์ชฝ๋ถ€ํ„ฐ ํ• ๋‹นํ•˜๋Š” ์‹

โ— ๊ฐ ์˜์—ญ์ด ์ƒ๋Œ€ ์˜์—ญ์„ ์นจ๋ฒ”ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํž™ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ / ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ผ๊ณ  ํ•œ๋‹ค.

 

โญ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

 

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ

 

 

 

  • ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด OS๋Š” ๋ฉ”๋ชจ๋ฆฌ RAM์— ๊ณต๊ฐ„์„ ํ• ๋‹น
  • ํ• ๋‹นํ•ด์ฃผ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์€ Code, Data, Stack, Heap์ด ์กด์žฌ