Search
📗

17강. 접근 제한자

무단 도용 및 복제, 사용 저작권 안내 수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유), 불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!

1. 접근 제한자

객체가 가지고 있는 변수는 . 연산자를 통해 자유롭게 접근이 가능하다.
만약 변수에 담기는 값이 어떠한 조건이 있을 경우 외부에서 자유롭게 접근할 수 있다면 엉뚱한 값이 저장될 가능성이 있다.
이에 변수나 메서드의 접근 권한을 설정할 수 있는 접근 제한자를 제공하고 있으며 클래스를 설계하는 개발자가 각 변수나 메서드의 접근 권한을 설정해 오동작 하는 것을 사전에 막을 수 있게 한다.

2. 동작원리

Kotlin에서는 클래스의 정의한 모든 변수는 Java코드로 변경될 때 private가 설정된다.
접근 제한자의 종류에 따라 Java 코드로 변경될 때 getter 메서드 추가 여부가 결정된다.

3. 클래스

private : 외부에서 객체를 생성할 수 없다.
public : 외부에서 객체를 생성할 수 있다(기본).
protected : 클래스에 지정할 수 없다.
internal : 모듈 같을 경우에만 객체를 생성할 수 있다.

4. 변수, 메서드

변수와 메서드는 동일하게 적용된다.
private : 외부에서 접근할 수 없다.
public : 외부에서 접근이 자유롭다(기본).
protected : 상속관계일 경우에만 접근이 가능하다.
internal : 모듈 같을 경우에만 접근이 가능하다.

5. 학습 정리

정리
private : 외부에서 사용이 불가능하다.
public : 외부에서 사용이 자유롭다.
protected : 클래스에는 적용할 수 없으며 상속관계일 경우에만 사용이 가능하다.
internal : 모듈이 같을 경우에만 사용이 가능하다.