티스토리 뷰

Kotlin

코틀린 접근제어자 Kotlin Access Modifier

IT Knowledge Share 2021. 7. 6. 19:26
반응형

코틀린에서 접근제어자가 어떻게 사용되는지 알아봅니다.

 

접근제어자 예약어를 사용하여 함수, 변수 등의 접근을 제한할 수 있습니다.

 

접근을 제어하는 이유는 예를 들어, 클래스 안의 함수가 외부로부터 노출되면 안되기 때문입니다. 클래스 안에 함수 1, 함수 2, 이렇게 두 가지가 있고, 함수 2는 함수 1을 참고한다고 가정합니다. 하지만 함수 1은 함수 2와 다르게 회사 기밀상 공개되서는 안되는 코드일때 접근을 제어해야 합니다.

 

바로 예문으로 알아봅시다.

반응형
fun main(array: Array<String>){

    val personal : Personal = Personal("아무개", "010-0000-0000")
    personal.phone = "010-2222-22222"
    println(personal.phone)


}

class Personal {
    private var name: String = ""
    var phone: String = ""

    constructor(name: String, phone: String){
        this.name = name
        this.phone = phone
    }

    private fun idNumber(){
        println("ID번호는 1234입니다.")
    }


}

개인 정보를 담는 클래스가 있다고 가정해 봅시다. 해당 클래스 안에는 이름과 전화번호 정보가 들어가 있으며, ID번호를 호출하는 함수를 지니고 있습니다. 이름 변수는 고유하므로 맨 앞에 private 지시어를 넣습니다. idNumber( ) 함수도 외부에서 접근을 막아야 하므로 private 지시어를 넣었습니다.

 

메인 함수에서 해당 클래스를 사용해 객체화/인스턴스화 한다고 가정할 때, 오로지 접근 가능한 부분은 전화번호 변수뿐입니다. 전화번호만 바꿀 수 있으며, 이름과 ID 번호는 접근하지 못하도록 설정한 것입니다.

 

참고로 모든 클래스는 기본적으로 private 지시어가 디폴트 값으로 선언되어 있으며, 이는 생략되어 있습니다. 하지만 변수나 함수의 경우는 디폴트 값으로 private이 선언되어 있지 않습니다. 

 

외부에서 어떤 변수나 함수에 대해 접근을 제어하도록 'private' 지시어를 이용한다는 부분을 잊지 마세요! 

 

반응형
댓글