๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

*์ด ๊ธ€์€ <์ด๊ฒƒ์ด C#์ด๋‹ค> ์ฑ…์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต๋ถ€ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

 

const

 

const float range = 5f;    // ๊ณต๊ฒฉ ์‚ฌ๊ฑฐ๋ฆฌ

 

์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ƒ์ˆ˜์— ์ง€์ •๋œ ๊ฐ’์„ ์‹คํ–‰ํŒŒ์ผ ์•ˆ์— ๊ธฐ๋กํ•ด๋‘”๋‹ค. ์ด ๋ง์€ ์ƒ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์ „๋ถ€ํ„ฐ ์ด๋ฏธ ๊ฐ’์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค. (์ปดํŒŒ์ผ ํƒ€์ž„์— ์ด๋ฃจ์–ด์ง)

 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์ˆ˜์™€ ๋‹ฌ๋ฆฌ, ์ƒ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘(๋Ÿฐํƒ€์ž„)์—๋Š” ๊ทธ ๊ฐ’์„ ์ ˆ๋Œ€๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.

์ด๋Ÿฌํ•œ const ์ƒ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•๋“ค์„ ๊ฐ€์ง„๋‹ค.

 

 

1. ์„ ์–ธ ์‹œ, ๋ฐ˜๋“œ์‹œ ๊ฐ’์„ ํ• ๋‹นํ•ด์•ผ ํ•œ๋‹ค.

// const float range;   ์ปดํŒŒ์ผ ์˜ค๋ฅ˜
const float range = 5f;

 

2. ์ž๋™์œผ๋กœ ์ •์  ๋ณ€์ˆ˜(static) ์†์„ฑ์„ ๊ฐ€์ง„๋‹ค.

class Monster
{
    public const float range = 5f;
}

class Main
{
    static void Main(string[] args)
    {
       float range = Monster.range;
    }
}

 

 


readonly

 

class Monster
{
    private readonly float range;     // ์ฝ๊ธฐ ์ „์šฉ ํ•„๋“œ
    
    public Monster(float range)
    {
       this.range = range;
    }
}

 

์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•œ ํ•„๋“œ๋‹ค. ํด๋ž˜์Šค๋‚˜ ๊ตฌ์กฐ์ฒด์˜ ๋ฉค๋ฒ„๋กœ๋งŒ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ƒ์„ฑ์ž ์•ˆ์—์„œ ์ดˆ๊ธฐํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ƒ์„ฑ์ž ์•ˆ์—์„œ ํ•œ ๋ฒˆ ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด, ๊ทธ ํ›„๋กœ๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค.

์ฆ‰, const์™€ ๋‹ฌ๋ฆฌ ๋Ÿฐํƒ€์ž„ ์ค‘์— ์ƒ์„ฑ๋˜์–ด ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ํ•œ ๋ฒˆ์€ ์žˆ๋Š” ์…ˆ์ด๋‹ค.

 

readonly ์ƒ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•๋“ค์ด ์žˆ๋‹ค.

 

 

1. ์„ ์–ธ ์‹œ, ๊ฐ’์„ ํ• ๋‹นํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

readonly float range;

 

2. static ์ƒ์ˆ˜๋กœ ๋งŒ๋“ค ๊ฒฝ์šฐ์—๋Š” static ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

const์™€ ๋‹ฌ๋ฆฌ, ์ž๋™์œผ๋กœ static ์†์„ฑ์„ ๊ฐ€์ง€์ง€ ์•Š๋Š”๋‹ค.

class Monster
{
   public readonly static float range;
   
   static Monster()
   {
      range = 10f;
   }
}

 

 

728x90
๋ฐ˜์‘ํ˜•