# 변수의 스코프 위로 리턴되지 않나요? 그래서 메인 메소드의 아래쪽 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 ```
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를 출력하게 됩니다. 라고 전 이해했네용...
아래 메소드에서 호출된 값이 계속 유지되는 줄 알았네요 감사합니다 !