[ 변수 ] 변수의 범위(Scope)

Kong-al·2022년 8월 9일

0809 5일차 수업내용

변수의 범위

자바의 변수는 아무데서나 사용할 수 있는게 아니라, 사용할 수 있는 범위가 정해져 있다. 코드를 작성하는 위치에 따라 사용할 수 있는 변수가 달라진다.

또한 변수가 속한 범위 ( { --- } ) 내에서 존재하며 참조 가능하다.

유효 범위

  • 자신보다 하위블록으로는 침투할 수 있다.

    	int num = 100;
    	if( num == 100 ){
    			// num이 현재 블록의 바깥에서 선언되었으므로 유효
    			System.out.println( num );
    		}

    int num은 if함수보다 바깥에서 선언 되었으므로 유효하다.


  • 자산이 선언된 블록 ( { --- } ) 밖으로는 빠져나갈수 없다.

    	int num = 100;
        if ( num == 100 ){
    			int result = num + 100;
    		}
    		// 변수 result 가 if블록 안에서 생성되었으므로 사용불가
    		System.out.println( result );

    result는 if 함수의 블록( { --- } )안에서 생성된 변수로 블록 밖에서는 사용할 수 없다.

    	for( int i=0; i<10; i++ ){
    			...
    		}
    		System.out.println( i );

    마찬가지로 i가 for문을 위한 괄호 안에서 선언된 변수이므로 for문의 블록 밖에서는 사용할 수 없다.

  • 블록 안에서 선언된 변수는 블록밖에서 존재하는 동일한 이름의 변수와는 이름만 동일 할 뿐, 다른 값으로 인식된다.

    	int target = 100;
        if (target == 100){
        	int num = target + 100;
         }else{
         	int num = target -100;
         }

    if문 안의 int num 과 else 문 안의 int num은 같은 이름을 가졌지만 다른 값으로 인식된다.

profile
웹개발 공부중!(❁´◡`❁)

0개의 댓글