반응형
접근 제한자에 대해 들어가기 전에 Scope에 대한 개념을 잡아야 함
- Scope란? : 언어 차원에서 변수, 함수, 클래스와 같은 객체들을 서로 공유하여 사용할 수 있는 범위를 지정해두는 단위
Ex) 패키지 내부에서 공유, 클래스 내부에서 공유, 함수 내부에서 공유
- Scope 규칙
- 스코프 외부에서는 스코프 내부의 값은 참조연산자로만 접근이 가능하다.
Ex) customer.name 이렇게 name 값을 받는거 처럼 customer라는 참조연산자를 통해 접근 - 동일 패키지 안에서는 사용 가능하다
- 하위 Scope에서 상위 Scope의 값을 재정의 할 수 있다.
(val을 통해 재선언해줘서 사용)
- 스코프 외부에서는 스코프 내부의 값은 참조연산자로만 접근이 가능하다.
- 접근 제한자 : Scope 외부에서 Scope 내부에 접근할 때 그 권한을 개발자가 제한하는 것
- 종류 : public/internal/private/protected
- Package Scope 예시
- public : 어떠한 package에서도 접근 가능
- internal : 같은 모듈 내에서만 접근 가능
- private : 같은 파일 내에서만 접근 가능
- Class Scope 예서
- public : 어떠한 class에서도 접근 가능
- private : class 내부에서만 접근 가능
- protected : class 내부 및 상속 받은 클래스에서도 접근 가능
반응형
'Backend 언어 > Kotlin' 카테고리의 다른 글
변수에 관하여 (0) | 2020.10.17 |
---|---|
Class에 관하여 (0) | 2020.10.11 |
고차 함수 (0) | 2020.10.11 |
프로젝트 구조 (0) | 2020.10.11 |
Kotlin 시작 (0) | 2020.07.25 |