해당 글은 <C#과 유니티로 만드는 MMORPG 게임 개발 시리즈> 강의를 정리한 글입니다.
static 키워드가 붙은 필드와 메서드는 클래스에 종속된다.
static 키워드가 붙지 않은 필드와 메서드는 인스턴스(객체)에 종속된다.
❗ 정적 필드, 메서드에는 this 키워드를 쓸 수 없다.
즉, static 변수만 연산을 할 수 있다.
static public void Test()
{
this.id = 23;
this.hp = 100;
}
일반 필드에 접근하기 위해서는 새로운 객체를 생성한다.
static public Knight CreatKnight()
{
Knight knight = new Knight();
knight.hp = 100;
knight.attack = 1;
return knight;
}
static 키워드가 붙은 필드와 메서드는 클래스에 종속되므로, 아래와 같이 사용할 수 있다.
static void Main(string[] args)
{
Knight knight = Knight.CreateKnight(); //static
knight.Move(); // 일반
}