# 변수의 스코프
위로 리턴되지 않나요? 그래서 메인 메소드의 아래쪽 x가 25로 변하지 않나요?
main x = 5
printSquare x = 5
printSquare x = 25
main x = 25
이런식으로..
#### CODE <a class='btn btn-default' href='/codes/78684'>Link</a>
```
public class SquareChange {
public static void main(String[] arguments) {
int x = 5;
System.out.println("main x = " + x);
printSquare(x);
System.out.println("main x = " + x); // < -- 5 ? 25 ?
}
public static void printSquare(int x) {
System.out.println("printSquare x = " + x);
x = x * x;
System.out.println("printSquare x = " + x); // <-- 25
}
}
```
#### INPUT
```
```
#### OUPUT
```
main x = 5
printSquare x = 5
printSquare x = 25
main x = 5
```
mrseo3o3님의 답변
System.out.println("main x = " + x); // main 메소드
printSquare(x); // public static void printSquare(int x) 메소드
System.out.println("main x = " + x); // main 메소드
여기서 printSquare(x); 코드는 public static void printSquare(int x) 메소드를 호출하는 겁니다.
메소드 호출을 통해 '5 와 25' 값을 출력했죠? 그럼 해당 코드의 자기 역할은 끝난 거라고 보면 됩니다.
따라서 마지막 코드는 맨 윗 줄과 같은 main 메소드 값인 5를 출력하게 됩니다.
라고 전 이해했네용...
chlrytns94님의 답변
아래 메소드에서 호출된 값이 계속 유지되는 줄 알았네요 감사합니다 !