[kotlin] 코틀린에서 함수와 메서드의 은닉화
코틀린은 객체지향 프로그래밍에서 정보은닉을 적용하는 데 도움을 주는 다양한 방법을 제공합니다. 함수와 메서드 은닉화는 캡슐화의 기본 원칙을 따르며, 외부에 노출되지 않도록 하는 데 중요한 역할을 합니다.
1. 접근 제어자
코틀린은 접근 제어자를 통해 클래스 멤버의 가시성을 제어할 수 있습니다. 기본적으로 public
으로 설정되어 있으며, private
, protected
, internal
등의 제어자를 사용하여 멤버의 가시성을 설정할 수 있습니다.
class Example {
private fun privateFunction() {
// 외부에서 접근 불가
}
public fun publicFunction() {
// 외부에서 접근 가능
}
}
2. 인터페이스
코틀린의 인터페이스는 기본적으로 모든 멤버가 public
이므로 외부에서 접근이 가능합니다. 하지만, internal
제어자를 사용하여 같은 모듈 내에서만 접근 가능하도록 설정할 수 있습니다.
interface Example {
public fun publicFunction() {
// 외부에서 접근 가능
}
}
3. 패키지 레벨 함수
코틀린에서는 해당 패키지 내에서만 함수에 접근할 수 있도록 할 수 있습니다. 이를 위해 private
제어자를 사용하여 함수를 선언합니다.
// example.kt
private fun internalFunction() {
// 같은 패키지 내에서만 접근 가능
}
public fun publicFunction() {
// 외부에서 접근 가능
}
결론
코틀린은 접근 제어자, 인터페이스, 패키지 레벨 함수를 통해 함수와 메서드의 은닉화를 지원합니다. 이를 통해 캡슐화를 효과적으로 구현할 수 있으며, 안정성과 유지보수성을 높일 수 있습니다.
참고자료: 코틀린 공식 문서