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

Algo ์“ฐ์ž

17. ํ”„๋กœํผํ‹ฐ(Property)์˜ ์ดํ•ด ๋ณธ๋ฌธ

๐Ÿ’ป Programming Language/C#

17. ํ”„๋กœํผํ‹ฐ(Property)์˜ ์ดํ•ด

S.Honey 2022. 4. 7. 09:26
namespace PropertyEx
{
    //ํ”„๋กœํผํ‹ฐ 

    class DemoClass
    {
        private int demoField;
        public int getDemoField()
        {
            return demoField;
        }
        public void setDemoField(int demoField)
        {
            this.demoField = demoField;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            DemoClass demoClass = new DemoClass();
            demoClass.setDemoField(100);
            Console.WriteLine(demoClass.getDemoField());
        }
    }
}

  • ๋ณดํ†ต Java๋‚˜ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด ์—์„œ ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ getter & setter ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

  • ํ•˜์ง€๋งŒ C# ์—์„œ๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค. (ํ”„๋กœํผํ‹ฐ(property)๋ฅผ ์‚ฌ์šฉ)

ํ”„๋กœํผํ‹ฐ


##### ํ”„๋กœํผํ‹ฐ ์„ ์–ธ ํ˜•์‹ ```csharp

๋ฐ์ดํ„ฐํƒ€์ž… ํ•„๋“œ๋ช…;

์ ‘๊ทผ์ œํ•œ์ž ๋ฐ์ดํ„ฐํƒ€์ž… ํ”„๋กœํผํ‹ฐ๋ช…

{
get
{
return ํ•„๋“œ๋ช…;
}

set
{
    ํ•„๋“œ๋ช… = value; //ํ‚ค์›Œ๋“œ
}

}


<br />

- ์ด๋•Œ `value`๋Š” `๋ณ€์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ C#์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ํ‚ค์›Œ๋“œ์ž„!!!`

<br />

- `get, set`์€ `์ ‘๊ทผ์ž(Accessor)`์ด๋‹ค.

<br />

```csharp
namespace PropertyEx
{

    class DemoClass
    {
        private int demoField;

        public int DemoField //ํ•„๋“œ๋ฅผ ์ด์šฉํ•  ๊ฑฐ๋ผ๋ฉด ํ•„๋“œ์™€ ์ด๋ฆ„์ด ๋น„์Šทํ•˜๊ฒŒ ์„ ์–ธ
        {
            get 
            { 
                return demoField; 
            }

            set 
            { 
                demoField = value; 
            }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            DemoClass demoClass = new DemoClass();
            demoClass.DemoField = 100; // ์ด ์ฝ”๋“œ๊ฐ€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž„ => ์ž๋™์œผ๋กœ set
            Console.WriteLine(demoClass.DemoField); //=> ์ž๋™์œผ๋กœ get
        }
    }
}
Output

100
  • ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฝ๊ธฐ์ „์šฉ(get ์ ‘๊ทผ์ž๋งŒ ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ) ์“ฐ๊ธฐ์ „์šฉ(set ์ ‘๊ทผ์ž๋งŒ ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ)์œผ๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.