[코틀린기초] 20. 함수와 변수의 범위

함수의 실행 블록

블록 내에서 사용하는 변수는 지역 변수라고 한다.

반대로 블록 외부에 선언된 함수는 전역 변수라고 한다.

함수의 범위

지역함수는 선언부가 먼저 나와야 사용가능하다!

  fun main(){ //  최상위 레벨의 함수
    fun secondFunc(a: Int){
      ...
    }
    userFunc(4) //  사용자 함수 사용 -> 선언부의 위치에 상관 없이 사용
    second(2) //  지역 함수 사용  -> 선언부가 먼저 나와야 사용 가능
  }
  
  fun userFunc(counts: Int){  //  사용자가 만든 최상위 레벨 함수 선언
    ...
  }
  fun a() = b() // b는 최상위 함수므로 선언위치 상관 없이 사용 가능하다.
  fun b() = println("b")
  
  fun c(){
    fun d() = e() // 오류! e는 지역함수므로 선언이 먼저 와야함 
    fun e() = println("e")
  }