호빵의 IT 개발소

[C#] Property 본문

C#, 유니티/C# 기초

[C#] Property

호빵Stack 2022. 1. 9. 01:24

1. 객체지향 -> 은닉성 (https://hobbangim.tistory.com/27)

class Program
{
    //은닉성
    class Knight
    {
    	protected int hp;
        
        public int GetHp() { return hp; }
        public void SetHp(int hp) { this.hp = hp; }
    }
    
    static void Main(string[] args)
    {
    	//프로퍼티
        Knight knight = new Knight();
		knight.SetHp(100)
    }
}

 

2. 위 예제보다 좀 더 편리하게 Get과 Set을 관리하는 방법 (property)

class Program
{
    //은닉성
    class Knight
    {
    	protected int hp;
        
        public int Hp
        {
            get { return hp; }
            set { hp = value; }
        }
    }
    
    static void Main(string[] args)
    {
    	//프로퍼티
        Knight knight = new Knight();
        knight.Hp = 100; //set활용
        
        int hp = knight.Hp; //get 활용
    }
}

 

3.  property 조금 더 간단하게 표현

class Program
{
    //은닉성
    class Knight
    {
		public int Hp { get; set; } = 100;
    }
    
    static void Main(string[] args)
    {
    	//프로퍼티
        Knight knight = new Knight();
        
        knight.Hp = 200; //set활용
        int hp = knight.Hp; //get 활용
    }
}

 

※ 위 3가지 예제는 다 같은 뜻을 가지고 있습니다. 

 

 

---------------------------------------------------------------------------------------------------------------------------

참고 : [인프런] Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

'C#, 유니티 > C# 기초' 카테고리의 다른 글

[C#] Event  (0) 2022.01.09
[C#] Delegate (대리자)  (0) 2022.01.09
[C#] Interface  (0) 2022.01.09
[C#] Generic(일반화), object  (0) 2022.01.09
[C#] 문자열  (0) 2022.01.04
Comments