• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

program 클래스가 static를 안 쓰는 경우?

22.03.03 01:06 작성 조회수 208

0

안녕하세요 static 수업을 듣다가 궁금한 사항이 있습니다.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp
{
    class Program
    {
        int foo = 10;
        void Boo()
        {
            foo = 10;
        }

        static void Main(string[] args)
        {
            int a = 0;
            //foo = a;
            //Boo();
            
        }
    }
}

 

program 클래스도 하나의 클래스니깐 멤버변수나 멤버 함수를 쓸 일이 있나요?
근데 Main 함수는 static를 떼면 오류가 나고 ( 왜 반드시 static을 필요한지는 대충 찾아봤습니다..)

그러면 모든것을 반드시 static 변수, 함수로 선언 해야되는 것 같은데 아닌가요?

만약에 안 쓰는 경우가 있다면 더 이해하기 편할거 같아서 여쭤봅니다.

답변 1

답변을 작성해보세요.

0

그러면 모든것을 반드시 static 변수, 함수로 선언 해야되는 것 같은데 아닌가요?

네 맞습니다.
하지만 문법적으로 new Program을 만들어서 사용해서 안될건 없고
그렇다면 매우 괴랄하겠지만 그냥 일반 멤버 변수를 사용해도 '일단'은 되긴 하겠죠.
어차피 실제로는 Program 자체에 이것저것 넣어서 사용하는 경우는 없고
그냥 일종의 프로그램이 실행되는 스타팅 포인트 정도로 사용되며,
나머지 코드는 이리 저리 분리해서 관리하게 됩니다.