C#/복습

프로퍼티

Game Client Lee Hwanguk 2023. 1. 10. 22:52
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study11
{
    internal class Hero
    {
        private int id;
        //프로퍼티 (속성)
        //public int Id //값을 반환하는 메서드? //은닉성 때문에 쓰는것 같다 // 외부에서는 값을 바꿀수없음
        //{
        //    get
        //    {
        //        return this.id; //맴버변수(필드)반환 
        //    }
        //    set
        //    {
        //        this.id = value;    //value는 매개변수처럼 사용됨 
        //    }
        //}

        public int Damage //자동 구현 프로퍼티, get,set 접근자 블럭을 구현할 필요가 없음.
        {
            get;
            set;
        }
        public Hero(int id)
        {
            this.id = id;
            //this.hp = hp;
        }

        public void SetId(int id)
        {
            this.id = id;
        }

        public int GetId()
        {
            return this.id; //할당받은 id값 반환(Main 클래스에서 값을 쓰려면 반환받고 , 변수에 담아야한다. 
                            //return으로 값을 반환하고 메서드 void를 반환받을 값의 타입으로 바꾸고 Main메서드에서 변수에 담는다
                            //과정이 계속 헷갈린다 연습 더 하자
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study11
{
    internal class App
    {
        public App()
        {
            Console.WriteLine("App constructor");
            //#1 프로퍼티

            //객체를 초기화하는 방법들
            //방법1
            //맴버변수 id의 한정자는 private
            Hero hero0= new Hero(100);

            //방법2
            //맴버변수 id 한정자는 public
            //Hero hero = new Hero();
            //hero.id = 100;

            //방법3
            //Hero hero= new Hero();
            //hero.SetId(100); //메서드 SetId int형식 값 할당
            //int heroId = hero.GerId();

            //방법4. (프로퍼티)
            //Hero hero = new Hero();
            //hero.Id = 100;  //100 (value), set 
            //Console.WriteLine(hero.Id); //get 

            //방법5. 읽기/쓰기 전용 프로퍼티
            //읽기 전용 프로퍼티 //프로퍼티 set 이용
            
            //쓰기 전용 프로퍼티 //프로퍼티 get 이용


        }
    }
}