• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

Clear 함수에 쓰이는 static 구문

20.08.12 19:46 작성 조회수 143

3

안녕하세요

Managers의 Clear함수에 static이 설정이 되어있어서, SceneManagerEx에서 Managers에 대한 인스턴스를 생성하지 않고도 Clear 함수를 호출할 수 있는것 같습니다.

그렇다면  보통 static 함수를 어느 경우에 써야 하는지 궁금합니다.

제가 나름대로 생각해본 경우로는 다음과 같은 경우가 있을것 같습니다.

1) 공용 변수/함수를 설정하는 경우 (e.g. count++, Extension)

2) 인스턴스를 생성하기 귀찮은 경우? (Clear?)

또는 Clear 함수에 static을 설정하신 이유가 있는지 궁금합니다~!

답변 1

답변을 작성해보세요.

2

사실 딱히 정해진 규칙이 있는 것은 아니고,
말씀주신 1, 2 번 모두 타당한 이유에 해당한다고 볼 수 있습니다.

static이 붙지 않은 함수는 특정 Instance에 종속된(즉 static이 아닌) 변수에 접근할 수 없는데,
애당초 그래도 딱히 상관없다면,
class 자체에 위치한 '공용' 함수니까 static을 붙여주는 것도 합리적이겠죠.
Console.Write 같은 것이 이런 케이스가 되겠습니다.
그리고 경우에 따라 붙여도 그만, 안 붙여도 그만인 경우가 있는데
그럴 땐 사실 어느쪽을 선택해도 상관 없습니다.