728x90
class Num(
val a: Int, // 1
var b: Int, // 2
private val c: Int, // 3
private var d: Int, // 4
var e: Int = 10 // 5
)
fun main() {
val n1 = Num(1, 2, 3, 4)
println(n1.a) // 1
println(n1.b) // 2
println(n1.c) // ERR : Cannot access 'c': it is private in 'Num'
println(n1.d) // ERR :Cannot access 'd': it is private in 'Num'
println(n1.e) // 10
val n2 = Num(1, 2, 3, 4, 0)
println(n2.e) // 0
}
1. val a: Int
∘ 읽기 전용 프로퍼티
∘ public a: Int 프로퍼티 생성
∘ public getA() Getter 생성 : 어디서든 읽을 수 있다.
2. var b: Int
∘ 쓸 수 있는 프로퍼티
∘ public b: Int 프로퍼티 생성
∘ public getA() Getter 생성 : 어디서든 읽을 수 있다.
∘ public setA() Setter 생성 : 어디서든 쓸 수 있다.
3. private val c: Int
∘ 읽기 전용 프로퍼티
∘ private c: Int 프로퍼티 생성
∘ private getC() Getter 생성 : 클래스 내부에서만 읽을 수 있다.
4. private var d: Int
∘ 쓸 수 있는 프로퍼티
∘ private d: Int 프로퍼티 생성
∘ private getD() Getter 생성 : 클래스 내부에서만 읽을 수 있다.
∘ private setD() Setter 생성 : 클래스 내부에서만 쓸 수 있다.
5. var e: Int = 10
∘ 2번 var b: Int 와 동일
∘ 생성자에서 포함시키지 않고 초기화된 값으로 사용 가능
∘ 생성자에서 e의 값을 초기화하면 해당 값으로 사용
728x90