티스토리 뷰
반응형
코틀린에서 접근제어자가 어떻게 사용되는지 알아봅니다.
접근제어자 예약어를 사용하여 함수, 변수 등의 접근을 제한할 수 있습니다.
접근을 제어하는 이유는 예를 들어, 클래스 안의 함수가 외부로부터 노출되면 안되기 때문입니다. 클래스 안에 함수 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' 지시어를 이용한다는 부분을 잊지 마세요!
반응형
'Kotlin' 카테고리의 다른 글
코틀린 인터페이스 Kotlin Interface (0) | 2021.07.06 |
---|---|
코틀린 상속 Kotlin Inheritance (0) | 2021.07.06 |
코틀린 전역 변수, 지역 변수 (Global Variables, Local Variables) (0) | 2021.07.06 |
코틀린 클래스 Kotlin Class (0) | 2021.07.06 |
코틀린 반복문 2편 Kotlin Iterators (0) | 2021.07.06 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 안드로이드 앱 만들기
- RecyclerView
- 대한민국 미제사건
- 애드뷰
- 선형 레이아웃
- 2007년 사건사고
- notifyDataSetChanged
- view binding
- findViewById
- 상대적 레이아웃
- 뷰 바인딩
- 미제사건
- 리사이클러뷰
- addView
- tabLayout
- ToDo List 앱 만들기
- 2021년 사건사고
- android adapter
- Bmi Calculator
- 자바스크립트 배열
- 안드로이드 프로젝트
- 2019년 사건사고
- 인텐트
- 탭레이아웃
- bmi 계산기 만들기
- 안드로이드 스튜디오 에러
- 리스트뷰
- 메소드 오버라이딩
- lazy init
- 안드로이드 어댑터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함