1. ๊ด๋ จ ์ฉ์ด ์ ๋ฆฌ
1) ํ๋ก์ ํธ : ์ต์๋จ ๊ฐ๋ . ๋ชจ๋, ํจํค์ง, ํด๋์ค๋ฅผ ํฌํจํจ
2) ๋ชจ๋ : ํจํค์ง, ํด๋์ค๋ฅผ ํฌํจ //java, res ํด๋ ํฌํจ. appํด๋
3) ํจํค์ง : ํด๋์ค๋ฅผ ํฌํจ //javaํด๋ ํ์ํ์ผ๋ค์ ํฌํจ. ํด๋์ค๋ ๋์ผ ํ์ด์ง๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ๋ฏ
4) ์ ๊ทผ : ๊ฐ์ฒด๋ฅผ ์ด์ฉํด ๋ณ์๋ ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์๋์ง์ ์ฌ๋ถ.
2. ์ ๊ทผ์ ํ์
(+) ๋ณ์, ๋ฉ์๋ ๋ฑ์ ๋ฐ์ดํฐ๋ก์ ๋ฌด๋ถ๋ณํ ์ ๊ทผ(.ํตํด ์ ๊ทผํ๋๊ฑฐ) ๋ง๊ณ ์ ์ง๋ณด์์ ์ฉ์ด
1) public : ์ด๋์๋ ์ ๊ทผ ๊ฐ๋ฅ. ๋ช ์ํ์ง ์์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก public
2) protected : ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋์ผํ ํด๋์ค ๋ด์์๋ง + ์์ ๋ฐ์ ๊ฒฝ์ฐ ์ ๊ทผ๊ฐ๋ฅ (์ต์์(open)ํด๋์ค์๋ ๋ถ๊ฐ๋ฅ, ํ๋กํผํฐ์๋ ๊ฐ๋ฅ?)
3) internal : ๊ฐ์ ๋ชจ๋ ๋ด์์๋ง ์ ๊ทผ ๊ฐ๋ฅ (ํจํค์ง, ํด๋์ค) // <-- java์ default์ ๋น์ทํ๋ฏ
4) private : ๋์ผํ ํด๋์ค ๋ด์์๋ง ์ ๊ทผ ๊ฐ๋ฅ
*์์ (ํด๋์ค)
class AccessTestClass { //class ์์ ์ ๊ทผ์ ํ์ ์ฌ์ฉ๊ฐ๋ฅํ๊ฑฐ๊ฒ ์ง?
public var a:Int = 1
var b = 2
private var c = 3
internal var d = 4
protected var e = 5
public fun publicTest() {
println("public ์
๋๋ค")
}
fun publicTest2() {
println("public ์
๋๋ค")
}
private fun privateTest() {
println("private ์
๋๋ค")
}
internal fun internalTest() {
println("internal ์
๋๋ค")
}
protected fun protectedTest() {
println("protected ์
๋๋ค")
}
}
class AccessTestChildClass: AccessTestClass() { //์์์ด๋ผ AccessTestClass๊ฐ open์ด์ด์ผ ํจ
fun protectedTest1() {
println("e์ ๊ฐ์ ${e}")
}
}
fun main() {
var accessTestClass = AccessTestClass()
var accessTestChildClass = AccessTestChildClass()
// . ํ๊ณ ์ ๊ทผ๊ฐ๋ฅํ ์์๋ฅผ ํ์ธ
// accessTestClass.
accessTestChildClass.protectedTest1()
}
'์ธ์ด > Kotlin' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Kotlin ๋ฌธ๋ฒ ์ข ํฉ] - ์ง์ฐ ์ด๊ธฐํ (@@0313 ์ถ๊ฐ์ค~) (0) | 2024.03.06 |
|---|---|
| [Kotlin ๋ฌธ๋ฒ ์ข ํฉ] - ์์ธ์ฒ๋ฆฌ # ์์ ํ๊ธฐ (0) | 2024.03.06 |
| [Kotlin ๋ฌธ๋ฒ ์ข ํฉ] - ์ธํฐํ์ด์ค, ์ถ์ ํด๋์ค (0) | 2024.03.05 |
| [Kotlin ๋ฌธ๋ฒ ์ข ํฉ] - ์ค๋ฒ๋ผ์ด๋ฉ, ์ค๋ฒ๋ก๋ฉ # ์์ ํ๊ธฐ (0) | 2024.03.05 |
| [Kotlin ๋ฌธ๋ฒ ์ข ํฉ] - ์์ (0) | 2024.03.05 |