더북(TheBook)

패키지 계층 구조는 소스 파일에 있는 패키지 디렉티브로부터 구성된 별도의 구조라는 점에 유의하라. 소스 파일 트리와 패키지 계층 구조가 일치할 수도 있지만 꼭 그럴 필요는 없다. 예를 들어 소스 파일은 모두 한 디렉터리 아래에 있지만 각각이 서로 다른 패키지에 포함될 수도 있고, 한 패키지에 포함된 소스 파일들이 모두 서로 다른 디렉터리에 들어갈 수도 있다.

자바 vs. 코틀린 반면, 자바에서는 패키지 구조와 컴파일 대상 루트에 있는 소스 트리 디렉터리 구조가 같아야 한다. 둘의 경로가 다르면 컴파일 오류가 발생한다.

하지만 프로젝트의 여러 부분을 이동할 때 (쉽게 패키지로부터 파일 위치를 알 수 있어서) 좀 더 편하기 때문에 디렉터리와 패키지 구조를 동일하게 하는 편을 더 권장한다.

IDE 팁 ≡

기본적으로 인텔리J 플러그인은 패키지와 디렉터리 구조를 일치시키고, 그렇지 않은 경우 경고를 표시해준다. 그림 3-6의 패키지 디렉티브가 강조(회색 밑줄)됐다는 사실을 눈치챈 독자도 있을 것이다. 디렉터리 경로와 일치하지 않는 패키지를 지정했기 때문이다. 강조된 영역에서 Alt + Enter를 누르면 디렉티브를 변경하거나 파일을 임포트 디렉티브와 일치하는 디렉터리로 이동시킬 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.