(내공+100)cmd창에서 java컴파일할 때 질문드립니다.

(내공+100)cmd창에서 java컴파일할 때 질문드립니다.

작성일 2016.12.05댓글 1건
    게시물 수정 , 삭제는 로그인 필요

코드는 이렇습니다.

public class Vehicle
{
}

class program
{
public static void main(String[] args)
{
vehicle honda=new vehicle();
}
}

메인 클래스는 program이구요
메인 클래스 내에서 vehicle을 사용합니다.

cmd에서 실행시킬 때
파일 이름을 program.java로 설정하면 오류가 나고
Vehicle.java로 해야 정상실행 되더라구요
(.class 파일은 program과 vehicle 총 두개가 생겼습니다)

그리고 실행시킬 때는 java program으로만 실행이 되었구요

제가 궁금한 것은 왜 컴파일 할 때
Vehicle.java로 해야만 하는지 입니다.


두번째로 궁금한 것은
만약 한 파일 내에 아래처럼 총 클래스가 세개라면
public class Vehicle
{
}

public class Horse
{
}
class program
{
public static void main(String[] args)
{
vehicle honda=new vehicle();
Horse juctoma=new Horse();
}
}

이럴 경우에는 파일명을 뭐라고 해야 하나요?
Vehicle.java도 안되고 Horse.java도 오류가 났습니다.
도움 부탁드리겠습니다.



profile_image 익명 작성일 -

일반적으로는 class하나당 자바파일 하나를 생성하는게 보통이구요..

하나의 자바파일에 여러개의 class를 넣을 경우에 파일명은 public 붙은 class를 따라가야 합니다..

그리고 하나의 자바파일 안에는 하나의 public class 만 들어 갈 수 있습니다...

그래서 하나의 자바파일안에 여러개의 class를 선언 할 경우
보통은 main을 가진 class를 public 으로 설정합니다.

첫번째 코드의 경우에 Vehicle가 public class라서 Vehicle.java로 저장해야 하구요..
main은 program 클래스에 있으니까 실행은 program 클래스로 합니다..

두번째 코드의 경우 하나의 자바파일 안에 2개의 public class 가 포함되어서 어떻게 저장을 하든 
오류가 발생하는 거구요...
main을 가진 program 클래스를 public으로 선언하시고 Vehicle이랑 Horse클래스는 public을 빼고 선언하신 다음에 program.java로 저장하시고 컴파일 실행하시면 됩니다..

반드시 public class로 하겠다 하시면 Vehicle이랑 Horse를 각각의 파일로 저장하시면 됩니다...

자바 여러개 import 컴파일

... 나서 질문드립니다. 클래스 path문제인것 같은데 잘 안되네요.. 컴파일은 하면 import 된 것이... 내공걸어봅니다. 음.. 답변에 앞서.. 보통은...

자바 관련 질문입니다 (내공있어요~)

... 상황이라 질문드립니다ㅜ_ㅜ;; 집에서좀 하고싶어요... http://www.java.sun.com/ 이곳에서 받는거라고 알고있는데^^;;... 자바에서 컴파일 누르고 실행 이렇게 하잖아요 ctrl+1...

[내공100] 우분투 리눅스 몇가지 질문

... 부탁드립니다. 윈도우에서의 화일보기 (DIR) 과 같은... 보면 CMD창이 뜬다고 봐야겠죠. 콘솔모드라고 합니다.... 하지만, 입맛에 맞게 설치하시려거든 컴파일을 새로 해야...

마인크래프트 서버 질문

... 주세요 내공 100겁니다 채택은 당연히 아무 파일이나... 질문해주시면 스샷과 함께 설명해드립니다. Step 2.... 따로 질문 해주시기 바랍니다.) # 실행시켰을 ...

관한겁니다. 내공 100걸어요

... 정 모르시겠으면 시작에다가 cmd를 검색하시면 검은색... 거기서 JAVA 어쩌구 저쩌구 하는거랑 Minecraft들어가... 정말로 이렇게 해도 안되신다면 추가질문 부탁드립니다....