728x90
class와 public class의 차이점
다음과 같은 클래스 파일을 MyProgram.java라는 이름으로 작성한다.
// MyProgram.java
class MyProgram {
}
이상없이 잘 컴파일이 된다.
위 소스 파일에 다음과 같이 클래스를 하나 더 추가한다.
class MyProgram {
}
class MyProgram2 {
}
역시 이상없이 잘 컴파일이 될 것이다.
다시 다음과 같이 수정한다.
class MyProgram {
}
public class MyProgram2 {
}
MyProgram2라는 클래스 앞에 public 이라는 키워드를 붙였더니 이번에는 컴파일 에러가 발생했다.
다시 다음과 같이 수정한다.
public class MyProgram {
}
class MyProgram2 {
}
MyProgram2 클래스 앞에 public 키워드를 제거하고 MyProgram 앞에 public 키워드를 추가하였다.
이번에는 컴파일이 잘 될 것이다.
이렇게 되는 이유는 파일명(MyProgram.java) 때문이다. 클래스명 앞에 public 키워드를 추가하면 그 클래스의 이름은 파일명과 동일해야만 하는 규칙이 있기 때문이다.
보통 이렇게 하나의 자바파일에 여러개의 클래스를 작성하는 경우에는 하나의 대표 클래스를 지정하고 파일명과 동일하게 하는 것이 코드의 가독성에 도움이 된다고들 말한다.
소스코드를 읽을 때 public 키워드가 붙어 있는 class를 보게 된다면 현재 소스코드가 어떤 자바파일명으로 저장되어 있는지 알 수 있을 것이다. 또한 public 키워드가 없는 경우라면 자바 파일명과 클래스명이 일치하지 않을 수 있다고 생각하면 될 것이다.
'Language > Java' 카테고리의 다른 글
[Java] 사칙연산 클래스 만들기 (0) | 2022.08.04 |
---|---|
[Java] 예외처리 (Exception) (0) | 2022.08.04 |
[Java] JVM, JRE, JDK의 차이 (0) | 2022.08.04 |
[Java] 정적(static) 변수와 메소드 (0) | 2022.08.04 |
[Java] 접근제어자 (Access Modifier) (0) | 2022.08.04 |