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 이용
}
}
}