2016-10-11 2 views
0

스칼라 클래스가 여러 개 있다고 가정 해 봅시다. 컴파일하고 JAR에 패키지하려고합니다.스칼라 기본 클래스 액세스 수정 자 변경

제한된 수의 클래스 만 JAR의 외부 사용자에게 노출시키고 다른 클래스를 "숨길"싶습니다.

질문 : 명시 적으로 액세스 한정자를 숨기지 않고 어떻게 구현할 수 있습니까?

문제는 스칼라 클래스가 기본값으로 public입니다.

이상적인 솔루션은 기본 클래스 수정자를 개인으로 변경하는 일부 스칼라 컴파일러 옵션입니다.

+2

나는 이것이 가능하지 않다고 확신하지만, 컴파일러 플러그인으로이를 달성하기 위해 변경이있을 수 있습니다. http://www.scala-lang.org/old/node/140 그러나, 솔직히 말해서, 나는 이것이 좋은 연습으로 간주 될 수 있다고 완전히 확신하지는 못합니다; 간단히'private' 키워드를 사용하여 코드가 익숙하지 않은 사람들이 더 이식성 있고 쉽게 추론 할 수 있도록하는 것이 좋습니다. – stefanobaghino

+0

컴파일러 옵션을 사용하여 기본값을 변경할 수있는 것과 동일한 액세스 수정자를 가진 언어는 생각할 수 없습니다. –

답변

1

나는 당신이 당신 자신의 질문에 대답했다고 생각합니다. Scala는 정확히이 용도로 private을 제공합니다.

관련 문제