카테고리 없음
[Kotlin 17강] 접근 제한자
연나연
2024. 1. 4. 14:30

접근 제한자
객체가 가지고 있는 변수는 . 연산자를 통해 자유롭게 접근이 가능하다.
만약 변수에 담기는 값이 어떠한 조건이 있을 경우 외부에서 자유롭게 접근할 수 있다면 엉뚱한 값이 저장될 가능성이 있다.
이에 변수나 메서드의 접근 권한을 설정할 수 있는 접근 제한자를 제공하고 있으며 클래스를 설계하는 개발자가 각 변수나 메서드의 접근 권한을 설정해 오동작 하는 것을 사전에 막을 수 있게 한다.
<동작원리>
Kotlin에서는 클래스의 정의한 모든 변수는 Java코드로 변경될 때 private가 설정된다.
접근 제한자의 종류에 따라 Java 코드로 변경될 때 getter 메서드 추가 여부가 결정된다.
클래스
▶private : 외부에서 객체를 생성할 수 없다.
▶public : 외부에서 객체를 생성할 수 있다(기본).
▶internal : 모듈 같을 경우에만 객체를 생성할 수 있다.
▷protected : 클래스에 지정할 수 없다.
클래스에는 protected를 붙힐 수 없다.
변수, 메서드
변수와 메서드는 동일하게 적용된다.
private : 외부에서 접근할 수 없다.
public : 외부에서 접근이 자유롭다(기본).
protected : 상속관계일 경우에만 접근이 가능하다.
internal : 모듈 같을 경우에만 접근이 가능하다.
private : 외부에서 사용이 불가능하다.
public : 외부에서 사용이 자유롭다.
protected : 클래스에는 적용할 수 없으며 상속관계일 경우에만 사용이 가능하다.
internal : 모듈이 같을 경우에만 사용이 가능하다.