자바에서 클래스란 매우 기본적인 지식이다.
카페에서 질문을 보고 한 .java 파일에 여러 클래스를 넣은 것을 보고 궁금해져서 실험을 해보았다.
평상시에서는 하나의 .java 파일에는 하나의 클래스, 혹은 중첩된 클래스(nested class)를 사용하기 때문에 이런 경험을 할 일이 없었기 때문이다.
1. 하나의 .java 파일에는 public 클래스 하나만 가능하다.
아래와 같이 두 public 클래스가 있다고 하자. 다음과 같이 에러가 발생한다.
2. public이 아닌 클래스는 여러 개가 가능하다.
1번의 해결책: ClassAnother를 public이 아니게 만든다.
3. package 스코프(default)는 여러개가 가능하다.
Java 파일 이름의 클래스도 public 을 없애는 것이 가능하다. 다른 클래스도 non-public이라면 가능하다.
4. public class 이름은 .java 파일명과 같아야 한다.
위에 설명했지만 다시 추가.
5. 바깥의 클래스는 protected나 private으로는 불가능하다.
선택권은 public이거나 non-public인데 non-public은 default (package scope)만 가능하다.
'Programing > JVM(Java, Kotlin)' 카테고리의 다른 글
[Java] Inner clsss의 접근 범위 (0) | 2019.05.03 |
---|---|
[Java] 통화 표준 및 통화코드 그리고 Currency 클래스 (0) | 2019.05.03 |
[Java] switch와 String 그리고 바이트코드 (0) | 2019.03.22 |
[JVM] currentTimeMillis vs nanoTime (0) | 2019.03.15 |
[Java] break label 문 (0) | 2019.03.09 |