😀 저의 두번째 글이네요. 이 글에서는 접근 제한자에 대해 적을 예정이에요.
접근 제한자는 객체가 공개 되어야 하는 범위를 정해주는 역활을 하는 것 인데요. 만약 자바를 알고 있으시면 접근 제한자(Access Modifier)라는 것이 어색하지 않으실 겁니다.
코틀린에서는 Visibility Modifier로 사용을 하고 있고 이것이 가시성 수정자 라는 것 보다 접근 제한자가 조금 더 친숙해 접근 제한자로 표현을 하였습니다.
Visibility Modifer를 쉽게 말 하면 '공개를 어느 정도로 할 것인지' 라고 생각하시면 편합니다.
접근 제한자에 종류는 4가지가 있습니다.
1. Private
2. Public
3. Protected
4. inrenal
Private은 해당 파일이나 클래스에서만 사용을 가능하게 합니다.
Public 은 어디에서나 접근을 할 수가 있고, 만약 함수나 클래스 앞 아무것도 붙이지 않으면 디폴트로 지정이 되어서 따로 붙일 필요가 없습니다.
Protected은 상속받는 인터페이스, 클래스 또는 자식 클래스에서 만 접근이 가능합니다.
Internal은 코틀린에서 새롭게 추가된 접근 제한자이고, 같은 모듈 안 에서는 다 접근이 가능 합니다.
// JaeHyeon_file.kt
private fun jae() { } //JaeHyeon_file.kt 에서만 접근이 가능합니다.
public var phone: Int = 12 // 어디에서나 접근이 가능합니다.
internal val book = 1 // 같은 모듈 안에서만 접근이 가능합니다.
class Hi {
protected val a = 1 //클래스 내부, 상속받는 객체에서 접근이 가능합니다
}
봐주셔서 감사합니다 🤗