Kotlin

[Kotlin] 접근제어자 ( visibility modifiers )

노소래 2021. 8. 4. 13:44

 

- default 접근제어자 public

코틀린의 모든 default 접근제어자는 public 이다.

그래서 따로 접근제어자를 지정해주지 않는다면 class, methods, properties, member variables 등에 모두 접근이 가능하다.

 

- 접근제어자가 붙을 수 있는 키워드들 

classes, objects, interfaces, constructors, functions, properties, 그리고 그들의 setters 에 

 

-public 

클래스 밖에서도 접근할 수 있다. 

위에서 언급한 것처럼 따로 지정해주지 않으면 default 로 public 이 적용된다.

 

- internal

모듈 내에서만 접근이 가능하게 하는 접근제어자이다.

여기서 모듈이란 함께 컴파일되는 코틀린 파일들의 집합을 말한다.

 

- private 

오로지 현재 클래스 안에서만 접근이 가능하게 만드는 접근제어자이다.

 

-protected 

현재 클래스와 하위클래스에서 접근이 가능하게 만드는 접근제어자이다.

 

 

현재 클래스 안에서는 수정이가능하고 밖에서는 읽기만 가능하게 만들고 싶다면?

var volume: Int
    get() = width * height * length / 1000
    private set(value) {
        height = (value * 1000) / (width * length)
    }

이처럼 getter 는 public 으로 만들고 setter 를 private 으로 사용하면 될 것이다.

(getter/setter 관련된 내용은 https://nosorae.tistory.com/22 여기를 참고)