Scala에서는 객체-개인 변수와 같은 기능을 볼 수 있습니다. 별로 풍부하지 않은 Java 배경에서 필요한 경우 모든 것을 닫고 (비공개로) 열고 (접근자를 제공) 배웠습니다. Scala는 훨씬 더 엄격한 액세스 수정자를 도입합니다. 항상 기본적으로 사용해야합니까? 아니면 동일한 클래스의 객체라도 필드 값 변경을 명시 적으로 제한해야하는 특정 경우에만 사용해야합니까? 즉, 어떻게 선택해야합니까?
class Dummy {
private var name = "default name"
}
class Dummy {
private[this] var name = "default name"
}
두 번째는 더 엄격하고 좋아하지만 항상 사용해야합니까 아니면 강력한 이유가있을 때만 사용해야합니까?
편집 됨 : 여기에서 볼 수 있듯이 private[this]
일부 하위 사례가 있으며 대신 this
다른 수정자를 사용할 수 있습니다 : "패키지, 클래스 또는 단일 객체". 그래서 특별한 경우를 위해 남겨 두겠습니다.