불로구

[코틀린 기초] 15. 전역변수, 지역변수 본문

프로그래밍/코틀린

[코틀린 기초] 15. 전역변수, 지역변수

맹이맹이 2021. 3. 19. 17:10
반응형

전역변수와 지역변수는 코틀린뿐만 아니라 다른 프로그래밍에서도 사용하는 용어이다.

 

지역변수

- 일정한 or 지정된 지역에서만 사용할 수 있는 특정한 변수

 

전역변수

- 모든 영역에서 사용할 수 있는 변수

 

전역변수와 지역변수는 메서드 안에서 생성되냐 안되냐에 따라 달라진다.

 

전역변수 예제

var school : String = "서울대학교"
fun main(){
    println(school)
}
class User1(){
    fun test() {
        println(school)
    }
    fun test2(){
        println(school)
    }
}

우선 맨위에 school을 보면 서울대학교라는 값을 가지고 있는 school이란 변수는 전역변수이다.

그렇기에 main함수 내에서 school을 출력할 수 있고, User1 클래스의 test, test2 함수에서도 school을 출력할 수 있다.

 

지역변수 예제

fun main(){
    val user1 = User1()
    user1.test()
}
class User1(){
    fun test() {
        var school : String = "서울대학교"
        println(school)
    }
    fun test2(){
//        println(school)  불가
    }
}

User1 클래스에 test 함수 안에 있는 school은 진역변수이다.

test()안에 있는 school은 값은 test()안에서만 바꿀 수 있다.

 

 

그렇다면 지역변수와 전역변수를 구분하는 이유는 뭘까?

- 프로그램에 사용되는 자원관리와 라이브러리, 플러그인과 출동을 할 수가 있기떄문에 전역변수의 사용을 줄인다.

반응형
Comments