728x90
반응형
# 변수의 접근 범위
1. 전역 변수
2. 지역 변수
예시 ) testFun2 가 같아도 지역 변수가 다르므로 오류 나지 않는다!
var age: Int = 20 // 전역 변수
class Test(var name: String){
fun testFun(){ // 지역변수
var birth: String = "2000/1/1"
name = "김사과"
age = 20
fun testFun2(){
var gender: String = "female"
}
}
fun testFun2(){
name
}
}
fun main(args: Array<String>){
println(age)
val test = Test("김사과")
test.testFun()
test.name
}
# 접근 제한자(Access Modifier)
코틀린의 접근 제한자는 4가지가 있으며 각각 public, private, protected, internal 입니다.
코틀린에서는 아무것도 붙지 않으면 public 입니다.
예시 1) private을 쓰지 않을 때는 main에서 변경이 자유롭게 가능하다.
class User(){
var amount: Int = 1000
}
class TestAccess {
var name: String = "김사과"
constructor(name: String){
this.name = name
}
fun changeName(newName: String){
this.name = newName
}
}
fun main(array: Array<String>){
val testAccess: TestAccess = TestAccess("반하나")
println(testAccess.name)
testAccess.name= "오렌지"
println(testAccess.name)
val user: User = User()
println(user.amount)
user.amount = 0
println(user.amount)
}
예시 2) private를 사용 할 때 이전에 사용된 부분은 오류가 발생되어 주석처리 함
class User(){
private var amount: Int = 1000
}
class TestAccess {
private var name: String = "김사과"
constructor(name: String){
this.name = name
}
fun changeName(newName: String){
this.name = newName
}
}
fun main(array: Array<String>){
val testAccess: TestAccess = TestAccess("반하나")
// println(testAccess.name)
// testAccess.name= "오렌지"
// println(testAccess.name)
testAccess.changeName("이메론")
val user: User = User()
// println(user.amount)
// user.amount = 0
// println(user.amount)
}
728x90
반응형
'🎨 Programming > Android(Kotlin)' 카테고리의 다른 글
[Kotlin] 11. 상속(inherit) 및 인터페이스(interface) (0) | 2020.12.01 |
---|---|
[Kotlin] 10. 기사와 몬스터의 대결 게임 ( 예시 ) (0) | 2020.12.01 |
[Kotlin] 8. 은행 계좌 만들기 (예시) (0) | 2020.12.01 |
[Kotlin] 7. 클래스 (Class) (0) | 2020.12.01 |
[Kotlin] 중간 점검 - 문제 풀이 (0) | 2020.12.01 |