[kotlin] 코틀린의 protected 접근 제한자에 대해 설명해주세요.
아래는 protected 접근 제한자의 예시입니다.
open class Animal {
protected fun makeSound() {
println("Animal sound")
}
}
class Dog : Animal() {
fun sound() {
makeSound() // 하위 클래스에서 protected 멤버에 접근 가능
}
}
class Cat {
fun sound(animal: Animal) {
animal.makeSound() // 다른 클래스에서는 접근 불가
}
}
위의 예시에서, makeSound
메서드는 Animal
클래스에서 protected로 선언되었기 때문에 하위 클래스인 Dog
클래스에서 접근할 수 있지만, 다른 클래스인 Cat
클래스에서는 접근할 수 없습니다.
이처럼, protected 접근 제한자는 상속 관계에서 멤버의 접근을 제한하여 코드의 안정성을 유지하는 데 도움이 됩니다.
더 자세한 내용은 코틀린 공식 문서를 참고하세요: 코틀린 공식 문서 - 접근 제한자