Image
Kotlin/Modifier

Kotlin의 가시성 변경자(접근 제한자) : public, internal, protected, private

목적

  • 최상위 선언의 가시성 변경자에 대해 이해한다.
  • 클래스 멤버의 가시성 변경자에 대해 이해한다.

 

가시성 변경자

가시성 변경자는 클래스에 대한 외부 접근 권한을 제어한다. Kotlin에서는 4가지 가시성 변경자를 제공한다.

 

  • public 
  • internal 
  • protected 
  • private 

Kotlin에서는 최상위 선언에서의 가시성 변경자와 클래스 멤버 선언에서의 가시성 변경자의 접근성이 달라진다. 먼저 공통적으로 적용되는 가시성 변경자인 public에 대해 알아보자.

 

 

public

public은 기본 가시성 변경자로, 어디에서나 접근 가능한 가시성 변경자이다. Kotlin에서는 아무것도 쓰지 않을 때 public이 기본 가시성 변경자로 설정된다. 이는 가시성 변경자를 쓰지 않을 때 default라는 별도의 가시성 변경자가 설정되는 자바와의 차이점을 가진다. 

 

그림1. public 가시성 변경자

그림1을 보면 public 가시성 변경자는 회색으로 처리되어 생략 가능함을 나타낸다. 따라서 그림1은 그림2와 같이 public 가시성 변경자를 생략하고 나타낼 수 있다.

그림2. public 가시성 변경자 생략

1. 아무것도 쓰지 않을 때 기본 가시성 변경자는 public이 된다.
2. public은 모든 곳에서 접근 가능하다.

 

internal, protected, private

나머지 가시성 변경자는 최상위 선언과 클래스 멤버에 대해 적용되었을 때 어떻게 가시성이 변경되는지 각각 살펴본다.

 

1. 최상위 선언에서 가시성 변경자

 

최상위 선언에서 가시성 변경자 : public, internal, private

목적 최상위 선언의 가시성 변경자에 대해 이해한다. internal 가시성 변경자에 대해 이해한다. 최상위 선언에서의 가시성 변경자 최상위 선언에서는 3가지의 가시성 변경자를 쓸 수 있다. public : 

kotlinworld.com

 

2. 클래스 멤버의 가시성 변경자

 

클래스 멤버의 가시성 변경자 : public, internal, protected, private

목표 클래스 멤버의 가시성 변경자에 대해 이해한다. 클래스 멤버의 가시성 변경자 Kotlin은 클래스 내부에 클래스 멤버(class, fun, val, var)를 선언하고 외부에 변수를 참조하게 만들 수 있다. 하지

kotlinworld.com

 

반응형

 

이 글의 저작권은 '조세영의 Kotlin World' 에 있습니다. 글, 이미지 무단 재배포 및 변경을 금지합니다.

 

 

Kotlin, Android, Spring 사용자 오픈 카톡

오셔서 궁금한 점을 질문해보세요!
비밀번호 : kotlin22

open.kakao.com