[C#] static의 정체

Yerin·2022년 1월 18일
0

해당 글은 <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(); // 일반
}
profile
재밌는 코딩 공부

0개의 댓글