(Kotlin) 코틀린의 접근제어자(vs Java 제어자)

2022. 12. 31. 22:34Kotlin

반응형

이 문서에서는 코틀린의 접근제어자에 대해서 다룹니다.

 

코틀린은 자바와 마찬가지로 4개의 접근제어자를 가지고 있습니다.

하지만 그 명칭과 쓰임 세는 자바와는 조금 다릅니다.

 

 

Modifier Class member Top-level declarartion
public(default) Java의 public과 동일 어디에서나 접근 가능
internal 모듈 내에서 접근 가능 모듈 내에서 접근 가능
protected Subclass 내에서 접근 가능  
private 클래스내에서만 접근 가능 파일 내에서만 접근 가능

 

자바와는 달리 코틀린에서는 public이 기본 접근 제어자입니다.

 

자바는 기본 접근자가 package-private이지만, 코틀린은 패키지를 코드를 namespace에 코드를 모아놓는 용도로만 사용됩니다.

 

 

자바와는 다른 점은 바로 "internal"이라는 접근 제어자인데요,

"internal" 접근 제어자는 모듈 내에서 접근이 가능합니다.

 

 

모듈은 자바에서는 없었던 새로운 구조로, 모듈이 패키지보다 상위 단위입니다.

그리고 코틀린에서는 모듈 단위로 컴파일됩니다.

 

 

"internal"의 장점은 완전한 캡슐화를 제공한다는 점인데요,

자바의 경우 외부 코드에서 동일한 패키지의 클래스를 정의해서 package-private 객체에 쉽게 access 할 수 있기 때문에

캡슐화가 쉽게 깨집니다.

 

 

 

반응형

'Kotlin' 카테고리의 다른 글

(Kotlin) 코틀린의 식(expression)과 문(statement)  (0) 2022.12.24