TIL

Lec 11. 코틀린에서 접근 제어를 다루는 방법

1. 자바와 코틀린의 가시성 제어

  자바 코틀린
public 모든 곳에서 접근 가능 모든 곳에서 접근 가능
protected 같은 패키지 또는 하위 클래스에서만 접근 가능 선언된 클래스 또는 하위 클래스에서만 접근 가능
default 같은 패키지에서만 접근 가능 X
private 선언된 클래스 내에서만 접근 가능 선언된 클래스 내에서만 접근 가능
internal X 같은 모듈에서만 접근 가능

2. 코틀린 파일의 접근 제어

3. 다양한 구성요소의 접근 제어

class Cat protected constructor (
  // ...
)
class Car(
  internal val name: String, // 한 번에 접근 제어
  _price: Int
) {
  var price = _price // getter는 public, setter는 private으로 하고 싶을 때
    private set
}

4. 자바와 코틀린을 함께 사용할 경우 주의할 점