Kotlin 접근 제한
Kotlin 접근 제한자
객체가 가지고 있는 변수는 "." 연산자를 통해 자유롭게 접근이 가능하다.
접근 권한을 설정해 오동작하는 것을 사전에 막을 수 있게 한다.
Kotlin에서는 클래스의 정의한 모든 변수는 기본적으로 private 로 설정된다. 모든 변수는 직접적인 접근이 불가능하다.
따라서, getter를 통해서 접근할 수 있도록 한다.
Java 의 경우에는 . 을 통해서 접근 가능하다. Kotlin 에서는 . 이 자연스럽게 getter로 변환해서 접근한다.
클래스 접근 제한자
- private : 외부에서 객체를 생성 할 수 없다.
- public : 외부에서 객체를 생성 할 수 있다. (기본)
- internal : 같은 모듈일 경우에만 객체를 생성할 수 있다.
- protected : 클래스에 지정할 수 없다.
protected 는 클래스에 지정하면 아래와 같은 에러가 발생한다.
Modifier 'protected' is not applicable inside 'file'
private 클래스를 외부에서 참조할려면 아래와 같은 에러가 발생한다.
Cannot access 'TestFile': it is private in file
변수, 메서드 접근 제한자
- private : 외부에서 접근할 수 없다.
- public : 외부에서 접근이 자유롭다. (기본)
- internal : 모듈이 같을 경우에만 접근이 가능하다.
- protected : 상속 관계일 경우에만 접근이 가능하다.
개발자가 자유롭게 접근해서 값을 변경하는 것을 막기 위해서 프로그램의 오동작을 막기 위한 중요한 수단이다.
댓글
댓글 쓰기