Kotlin

[Kotlin] open, internal

an-hayyy 2021. 9. 28. 09:41

open

 

- 코틀린의 클래스와 메서드는 기본적으로 final

   따라서 상속을 허용하려면 해당 클래스 앞에 open 변경자를 붙여야함 

 

- 오버라이드를 허용하고 싶은 메서드나 프로퍼티 앞에도 open 변경자를 붙여야함

 

- open class : 다른 클래스에서 상속 할 수 있음

  open method : 해당 메서드를 하위 클래스에서 override 할 수 있음

 

 

internal

 

- 자바는 public, protected, private 변경자가 있음

 

- 코틀린은 아무 변경자가 없는 경우 모두 public

 

- 자바의 기본 가시성인 패키지 전용은 코틀린에 없음

  ( 코틀린은 패키지를 네임스페이스 관리를 위한 용도로 사용 )

 

- 코틀린의 internal 은 같은 모듈 내에서만 볼 수 있음

 

- public : 모든 곳에서 볼 수 있음

  internal : 같은 모듈 안에서만 볼 수 있음

  protected : 하위 클래스 안에서만 볼 수 있음

  private : 같은 클래스 안에서만 볼 수 있음

 

 

 

 

참고 : https://velog.io/@conatuseus/Kotlin-%ED%82%A4%EC%9B%8C%EB%93%9C-%EC%A0%95%EB%A6%AC-open-internal-companion-data-class-%EC%9E%91%EC%84%B1%EC%A4%91