[유니티 C#] This 키워드

YongSeok·2022년 10월 28일
0

📌 This 키워드란 클래스의 현재 인스턴스를 가리키는 키워드이다

✏️ this키워드의 일반적인 사용방법

class Car
{
	string name;
    
    public Car(string name)
    {
		this.name = name;
    }
}

this키워드의 특징

  • 동일한 이름의 매개변수와 멤버변수를 구분한다
  • 멤버 엑세스 연산자를 사용해 멤버에 접근 할 수 있다
  • 인스턴스를 다른 메서드에 매개변수로 전달 할 수 있다

✏️ this키워드를 활용한 공격 프로세스

예를들어 두 캐릭터가 전투를 한다고 가정해보자 캐릭터 클래스를 정의하고 멤버변수로 이름과 공격력 그리고 체력을 정의 했을때

class Character
{
	public string name;
    public float attackDamage;
    public float hp;
    public float maaxHp;
    
    Character(string name, int damage, int maxHp)
    {
    	this.name = name;
        this.damage = damage;
        this.maxHp = maxHp;
        this.hp = this.maxHp;	
    } 
}

☝ 위와같이 캐릭터 생성시 필드 초기화를 위해 생성사 메서드를 정의할 것이다. 그럴경우 this 키워드를 사용해 멤버 변수들을 초기화 할 수 있다


👇 공격하는 기능과 피해를 받는 기능을 메서도르 정의한후

public void Attack(Character target)
{
	target.Hit(this.damage);
}
public void Hit(int damage)
{
	this.hp -= damage;
}

👇 캐릭터를 생성한후 변수에 할당해준다
<var hong = new Character("홍길동", 3, 10);
var lim = new  Character("임꺽정", 2, 12);
// 이름 : 홍길동, 임꺽정
// 공격력 : 3, 2
// 체력 : 10, 12
hong.Attack(lim);

위와같이 홍길동이 임꺽정을 매개변수로 Attack 메소드를 호출하면 임꺽정의 체력에서 피해량을 빼준다

다음과같이 this키워드를 이용하여 공격 프로세스를 진행할 수 있다

0개의 댓글