해결된 질문
20.08.12 19:46 작성
·
210
3
안녕하세요
Managers의 Clear함수에 static이 설정이 되어있어서, SceneManagerEx에서 Managers에 대한 인스턴스를 생성하지 않고도 Clear 함수를 호출할 수 있는것 같습니다.
그렇다면 보통 static 함수를 어느 경우에 써야 하는지 궁금합니다.
제가 나름대로 생각해본 경우로는 다음과 같은 경우가 있을것 같습니다.
1) 공용 변수/함수를 설정하는 경우 (e.g. count++, Extension)
2) 인스턴스를 생성하기 귀찮은 경우? (Clear?)
또는 Clear 함수에 static을 설정하신 이유가 있는지 궁금합니다~!
답변 1
2
2020. 08. 12. 21:22
사실 딱히 정해진 규칙이 있는 것은 아니고,
말씀주신 1, 2 번 모두 타당한 이유에 해당한다고 볼 수 있습니다.
static이 붙지 않은 함수는 특정 Instance에 종속된(즉 static이 아닌) 변수에 접근할 수 없는데,
애당초 그래도 딱히 상관없다면,
class 자체에 위치한 '공용' 함수니까 static을 붙여주는 것도 합리적이겠죠.
Console.Write 같은 것이 이런 케이스가 되겠습니다.
그리고 경우에 따라 붙여도 그만, 안 붙여도 그만인 경우가 있는데
그럴 땐 사실 어느쪽을 선택해도 상관 없습니다.