[Java] 스코프의 이해 예시

MSU·2023년 12월 8일

JAVA

목록 보기
18/28

임시 변수를 사용하는 경우

int m = 10;
int temp = 0;
if (m > 0) {
    temp = m * 2;
    System.out.println("temp = " + temp);
}
System.out.println("m = " + m);

위의 코드에서 temp변수는 if문 안에서만 사용되므로 main() 코드 블록이 종료될 때 까지 메모리에 유지되므로 불필요한 메모리 낭비가 발생한다.
따라서 if문 안에서 변수를 생성하면 if문이 종료됬을때 변수도 같이 메모리에서 제거되므로 효율적으로 메모리를 사용할 수 있다.
또한 m변수와 동일한 코드 블록에서 선언되었기 때문에 if문이 종료되더라도 m변수와 함께 temp 변수도 main()블록이 종료될 때 까지 신경써줘야 한다.

int m = 10;

if (m > 0) {
	int temp = m * 2;
    System.out.println("temp = " + temp);
}
System.out.println("m = " + m);

따라서 변수를 선언할 때 해당 변수의 스코프를 꼭 필요한 곳으로 한정하는 것을 권장함

출처 : 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

profile
안드로이드공부

0개의 댓글