-일단 main 메서드가 public static 인 이유 : stack영역에 스레드가 있어야 new연산자를 통해 객체를 만들고 메서드를 가지고 올 수 있다. 따라서 처음에는 stack영역에 스레드가 없기 때문에 처음오는 메서드는 객체 생성 없이 사용할 수 있는 static 메서드이여야만 한다.
-근데 만약 main 메서드에게 데이터를 넘겨주고 싶다면??? 그럼 Stirng[] args를 쓰면 된다. 근데 여기서 궁금한게 String[] args는 반드시 있어야 한다는 것이다.. 데이터를 넘겨주기 위해 존재한다면 데이터를 넘겨줄 때만 필요한거 아닌가?
<Web(Stackoverflow)>
-someone said “it is legacy”
c#에서는 실제로 매개변수가 없는 main 메서드도 존재하고 리턴타입이 int 인 main 메서드도 있다.
없어도 되긴 하지만 커맨드라인을 통해 데이터를 전달할 때만 쓰일 뿐 특별한 이유나 용도는 없다.