fun main() {
val outval = Outclass()
val inval = outval.Inclass()
outval.outtext = "Hi Hi Out Class"
inval.Inprint()
Outclass().Inclass().Inprint()
}
class Outclass
{
var outtext = "Out Class"
inner class Inclass
{
fun Inprint()
{
println (this@Outclass.outtext)
}
}
}
보시는 바와 같이 내부 함수 구현 코드인데요. 결과 값은
Hi Hi Out Class
이렇게 출력이 됩니다.
이해가 안되는게 Outclass().Inclass().Inprint() 값이 왜 inval.Inprint() 같이 Main 함수에서 변경된 outtext 값 "Hi Hi Out Class" 으로 나오지 않는지 궁금합니다.
Outclass().Inclass().Inprint() 와 inval.Inprint() 어떻게 다르게 작동되는지 궁금합니다.