Kotlin 접근 지정자(= 가시성 지정자, Visibility Modifiers)

Notepad96

·

2020. 10. 1. 16:17

300x250

 

 

 


1. 가시성 지정자(Visibility Modifiers)

 

지정자 범위
private 해당 클래스 내부에서만 접근할 수 있다.
protected private + 서브 클래스에서 접근할 수 있다.
internal 같은 모듈 내에서 접근할 수 있다.
public 어디서든 접근할 수 있다. Kotlin에서 기본 지정자는 public으로 생략 시 public이 된다.

 

※ internal 에서 모듈이란 함께 컴파일 된 kotlin 파일 집합을 의미한다. 이는

  • IntelliJ IDEA 모듈;
  • Maven 프로젝트;
  • Gradle 소스 세트

들이 될 수 있다.

 

 

 

 


2. 가시성 지정자 오버라이딩

    open class Test {
        private val a = 1
        protected open val b = 2
        internal val c = 3
        val d = 4  // public by default
    }
    class Test2 : Test() {
        // a 접근 불가
        // b, c, d 접근 가능

        public override val b = 5 // protected에서 public으로 변경
    }
    var test = Test2()
    println(test.b)


프로퍼티나 멤버 함수를 오버라이딩하면서 가시성 지정자를 변경할 수 있다.

 

변경은 좁은 범위 -> 넓은 범위로 되어야하며 사실상 'protected->public' , 'internal->public' 이 가능하다.

 

 

오버라이딩 시 변경하지 않는다면 부모의 지정자를 물려받는다.

 

 

 

 

 


3. 참 조

 

 

Visibility Modifiers - Kotlin Programming Language

 

kotlinlang.org

 

 

300x250

'Kotlin > Syntax' 카테고리의 다른 글

Kotlin static 이용 Companion Object  (0) 2020.10.03
Kotlin Singleton pattern - object  (0) 2020.10.02
Kotlin null, nullable 타입  (0) 2020.09.23
Kotlin 예외(Exception) 처리  (0) 2020.09.21
코틀린(Kotlin) 클래스  (0) 2020.09.18