Fully Qualified Names to the Rescue! | Kotlin Tips
5월 20일에 올라온 따끈따끈한(?) 영상이다!
만약에 이런 코드가 있다고 생각해보자.
package io.sebi.demo
fun openFile() {
println("Opening file (top level)...")
}
class Repo {
fun openFile() {
println("Opening file (repository)...")
}
fun readFile() {
openFile()
}
}
이때 readFile()을 호출한다면 출력 값은 어떤게 나올까?
다들 당연히 알겠지만 Opening file (repository)...이다.
근데 Kotlin에서는 shadowing일 경우에 탑 레벨에 있는 아이를 사용할 수 있도록 약간의 트릭을 사용할 수 있다!!!
만약 readFile()에서 openFile()을 호출할 때 이런식으로 호출한다면?
package io.sebi.demo
fun openFile() {
println("Opening file (top level)...")
}
class Repo {
fun openFile() {
println("Opening file (repository)...")
}
fun readFile() {
io.sebi.demo.openFile()
}
}
바로 탑레벨에 있는 openFile()의 출력 값인 Opening file (top level)... 이 나올 것이다!!
다들 코드를 짜면서 젯브의 인텔리제이나 안드로이드 스튜디오..를 쓸 것이라 생각한다.
위의 코드를 입력해보면 하이라이팅이 (사용하는 함수에 하이라이팅 되는거 다들 아시져?) 되어 있는 모습을 볼 수 있을 것이다!
🐥 공식문서를 들어갔다가 상단에 유튭 링크가 걸려있어서 봤는데 상당히 꿀팁 같아서 블로그에 작성하러 왔다!!