자바 파일 하나에 여러 개의 클래스를 추가하는 경우

2014-07-21 10:32

2학기 자바 수업을 진행하고 있다. 수업을 강의식으로 진행하는 것이 아니라 가이드만 제시하고 학생들이 문제를 해결해 가는 방식으로 진행하고 있다. 내가 정해진 틀을 제시하지 않다보니 학생 스스로 다양한 시도를 해보고 있다.

학생 시도 중 비슷하게 발생하는 경우가 있는데 그 중 하나가 자바 파일 하나에 여러 개의 클래스를 구현하려는 친구들이 의외로 많다는 것이다. 아직까지 소스 코드가 길지 않기 때문에 그런 경향이 보이는 것인지는 모르겠으나 의외로 이 방식이 편하다는 생각을 하는 듯하다.

그 중에 한 가지 의문점을 제시한 친구가 있어 질문을 남겨본다.

클래스를 추가하고 추가한 클래스에 여러개의 클래스를 넣을 수는 없을까? -> 가능은하다. 하지만 하나의 클래스에 일단은 public 이 하나만 존재해야 한다.

궁금한점 : 왜 public 이 하나여만 하지 ? 그리고 왜 eclipse 는 그렇게 클래스를 따로 추가해야 할까.. 클래스를 만들고 그 안에서 또 클래스를 만들 수 있는데

궁금한 점 :왜 public 이 클래스 시트 (?) 의 제약을 받는거지 ? 아니면 왜 클래스가 public 의 제약을 받는거지.. 접근 제어자는 접근권한을 주는 것인데 누군가 접근하지 않는다면 문제가 될 게 없을 것 같은데.. 그렇다면 클래스를 추가하고 그 곳에 여러개의 클래스를 만들 때, 여러 개의 클래스들이 서로 접근하고 있는 것인가...

나도 이번 수업을 하면서 처음 알게 됐다. 여러 개의 클래스를 하나의 파일에 추가하는 경우 public class가 하나만 존재해야 한다는 것을... 여러 개 존재하는 경우 컴파일 에러가 발생했다.

이 같은 이유는 뭘까? 질문을 하나 더 한다면 파일 하나에 여러 개의 클래스(inner class가 아니다.)를 구현할 경우의 장,단점은 뭘까?

역시나 시작하는 친구들의 시각은 참 재미있다.

1개의 의견 from SLiPP

의견 추가하기

연관태그

← 목록으로