Programing/JVM(Java, Kotlin)
[Java] Class 생성 실험
나모찾기
2019. 4. 1. 14:37
자바에서 클래스란 매우 기본적인 지식이다.
카페에서 질문을 보고 한 .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)만 가능하다.