윤굥굥
yg323
윤굥굥
전체 방문자
오늘
어제
  • 굥굥 DEV
    • Computer Science
      • 자료구조 및 알고리즘
      • 운영체제
      • 네트워크
      • 데이터베이스
    • Programming Language
      • Java
      • Kotlin
    • Android
      • with Kotlin
    • Algorithm
      • with Kotlin
    • 하나씩 습득하는 중

블로그 메뉴

  • ↓백준 모아보기 ↓
  • 💚 플레티넘 문제 모아보기
  • 💛 골드 문제 모아보기
  • 🤍 실버 문제 모아보기
  • 🤎 브론즈 문제 모아보기

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
윤굥굥
Programming Language/Kotlin

[Kotlin Tips] Kotlin에서 Shadowing을 다루는 방법

Programming Language/Kotlin

[Kotlin Tips] Kotlin에서 Shadowing을 다루는 방법

2022. 5. 26. 21:17

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)... 이 나올 것이다!!

 

다들 코드를 짜면서 젯브의 인텔리제이나 안드로이드 스튜디오..를 쓸 것이라 생각한다.

위의 코드를 입력해보면 하이라이팅이 (사용하는 함수에 하이라이팅 되는거 다들 아시져?) 되어 있는 모습을 볼 수 있을 것이다!

🐥 공식문서를 들어갔다가 상단에 유튭 링크가 걸려있어서 봤는데 상당히 꿀팁 같아서 블로그에 작성하러 왔다!!
저작자표시 비영리 변경금지 (새창열림)
    'Programming Language/Kotlin' 카테고리의 다른 글
    • [Kotlin Tips] Deduplicating Collection Items
    • [공식문서를 읽자] Classes and objects - Properties
    • [공식문서를 읽자] Classes and objects - Inheritance
    • [공식문서를 읽자] Classes and objects - Classes
    윤굥굥
    윤굥굥

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.