2014-06-07 2 views
7

나는이 프로그램의 출력에 영향이 있다고 생각하지 않지만, 어떤 클래스 내 프로그램에서public static void main (String [] args) 메서드는 어디에 두어야합니까?

public static void main(String[] args) { 
    //... 
} 

방법을 넣어해야합니까? 별도의 클래스를 만들거나 다른 것을하는 클래스에 넣는 것이 더 나은 형태입니까? 내가 다른 수업을하는 수업에 넣어야한다면 어느 것이지? 그게 그렇게 중요한 건가? 이것은 실제로 규칙 일뿐입니다. 일반적으로 저는 별도의 클래스를 만들거나 GUI를 다루는 클래스에 넣습니다.하지만 올바른 방법을 알고 싶습니다.

+3

이것은 프로그램의 기능, 크기, 배치 방법 등에 따라 크게 다릅니다. 나는 종종 Launcher 클래스를 사용하지만, 더 간단한 GUI 기반 프로그램에서, 예를 들어, 그것을 메인 윈도우에 놓는 것이 합리적 일 수있다. – chrylis

+0

알다시피, 그것은 좋은 질문입니다. 이것은 항상 나를 괴롭혔다. –

+0

사실이 질문은 주로 의견을 바탕으로 한 것이거나 너무 광범위합니다. 어떤 사람들은 기본 메소드만으로 별도의 클래스를 생성하는 것을 좋아하고, 어떤 메소드는 이미 존재하는 클래스에이 메소드를 넣는 것을 좋아합니다.이 메소드는 또한 다른 용도로 사용됩니다. 이미 존재하는 클래스에'main'을 넣을 수있는 이유는 main 메소드가 그 클래스의 private 메소드에 접근하기를 원한다면, 당신은 어떤 외부 Luncher 클래스에서이 메소드를 다시 생성하거나 재사용해서는 안됩니다. – Pshemo

답변

3

간단한 프로그램 (예 : 간단한 알고리즘)을 작성하는 경우 몇 가지 기본 프로그램 로직이 포함 된 클래스에 기본 메소드를 추가하는 것이 더 편리 할 수 ​​있습니다. 그러나 더 큰 프로젝트의 경우 주요 방법을 비즈니스 로직/데이터베이스 액세스/캡슐화 된 엔티티로 작동해야하는 다른 것과 분리하는 것이 매우 유용합니다.

메인 메서드는 체인의 시작 부분을 제공해야하므로 처음부터 프로그램의 워크 플로를 쉽게 따라갈 수 있습니다. main 메소드를 포함하는 클래스에서 로직 (심지어 간단한 숫자 변환/문자열 연산)을 포함하면 불필요한 혼란을 야기 할 수 있습니다. 실제로 필요하지 않은 것을 모두 분리하고 도우미 클래스에 넣으십시오.

0

이 문제를 올바르게 처리하는 방법은 응용 프로그램에 따라 다릅니다. 그러나 대부분의 경우 매우 넓은 의미에서 응용 프로그램 동작을 반영하는 매우 간단하고 이해하기 쉬운 코드를 기본 메서드에서 사용하는 것이 좋습니다.

1

두 개 이상의 클래스로 프로그램을 작성할 때 main() 메서드는 프로그램 이름이있는 클래스에 있어야합니다.

프로그램 이름이 temp.java하고 temptemp1main() 방법은 클래스에 포함되어야이라는 두 개의 클래스가있는 경우. 별도의 클래스가 필요하지 않습니다.