public class Customer

{



private string _name;

private string _address;

private decimal _totalSpend = 0.0m;



public string Name

{

get { return _name; }

set { _name = value; }

}



public string Address

{

get { return _address; }

set { _address = value; }

}



protected decimal TotalSpend

{

get { return _totalSpend; }

}



public override string ToString()

{

return string.Format("{0}, {1}, Total: {2:c2}", _name, _address, _totalSpend);

}



public virtual void MakePurchase(decimal valueOfPurchase)

{

_totalSpend += valueOfPurchase;

}

}

}






1. 중간쯤에 property get, set 부분에서 set에서 값을 입력하고 get부분에서 return이랑 어떻게 연관지어 설명해야할지를 모르겟어요..  return한 값을 get 을 통해서 보여준다고 설명하면 될까요?



2. protected decimal TotalSpend 프로퍼티에선 왜 셋없이 겟만 있고 이걸 어떻게 설명해야되는지좀..  



3. 끝에쯤에 ToString() method 구문 에서 ToString() 앞에 써있는 string이 뭘 의미(class라는건지 아님 ToString() 메소드가 string형 이라는건지??) 하는 건지..??  



4. 맨 마지막 쪽에 가상 메소드 선언에서 void 는 뭘 의미하는건지??  



5. 마지막으로 구문마다 앞에 private, public 이 써있는데 어떤의미인지는 대충은알지만 설명좀 짧게라도 부탁드릴께요