정적 기본 메소드가있는 Java 클래스의 명명 규칙?


21

왜 생성자가 아닌 Java 및 C #에서 정적 기본 메소드입니까?에 대한 gnat의 답변 을 읽은 후 ? 나는 정적 메인 메소드를 가진 Java 클래스의 목적 define a program entry point이 프로그램 자체가 아니라는 것을 의미하기 위해 그의 대답을 취 합니다.

더 좋은 방법이있을 수 있지만 일반적으로 정적 기본 메소드가있는 클래스를 사용하여 다음과 같은 간단한 작업을 수행합니다.

public class MenuLauncher
{
    public static void main(String[] args) {
        Menu menu = new Menu();
        menu.run();
    }
}

정적 메인 클래스가 별도의 비 정적 객체에 포함 된 프로그램 논리를 시작하거나 시작하는 것 이상을 수행하지 않는 위의 코드가 OOP에 대한 모범 사례입니까? 결국 main은 정적이므로 MenuLauncher 클래스 자체가 매우 제한적이지 않습니까? main은 출발점이기 때문에 입학 지점 이외의 다른 목적은 없습니다.

주요 메소드를 포함하고 프로그램 진입 점의 목적을 제공하는 클래스에 일반적으로 사용되는 Java 명명 규칙이 있습니까?


1
나는 보통 내 전화 Program.
Robert Harvey

1
나는 그것을 호출하며 Main일반적으로 길이가 20 줄 미만입니다 (일부 예외 포착 및 매개 변수 파싱 포함).
assylias

내가 쓴 마지막 5는 Test1, Test2, Test3, Test4 및 Test5입니다.
jwenting

답변:


18

아니요, 이에 대한 널리 사용되는 명명 규칙이 없습니다. 내가 본 예는 Main, Application, XLauncher또는 XX 프로젝트 / 응용 프로그램의 이름입니다.

그리고 네,이 클래스가 응용 프로그램을 설정하고 시작하는 데 필요한 최소한의 논리 / 코드 만 포함하는 것이 좋습니다. 하지만 확실히 많이가있어 하나님이 개체진흙의 큰 공 로모그래퍼에서이 main멀티 천 개 라인 괴물에 압정으로 고정하는 방법.


나는 이것이 몇 년 후인 것을 알고 있지만, 마지막 문장이 나를 의자에서 떨어 뜨렸다. 웃음 주셔서 감사합니다.
user0000001 2019

@ user0000001 : 천만에요!
Michael Borgwardt

9

그들은 Main 이라고 불리는 지 여부와 거의 또는 많이하지 않는지 여부에 관계없이 Main-Class 라고합니다 .

그들은 일반적으로 프로그램을 시작하는 데 필요한 논리를 가지고 있습니다.

CLI 앱에서 일반적으로 매개 변수의 유효성을 검사합니다.

데스크톱 앱에서 사용자와 같은 기본 메뉴를 열거 나 기본 창을 엽니 다.

jar 파일에서 MANIFEST 파일을 읽으면이를 파일이라고합니다.

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.