# 메소드 스코프 리뷰 #### 스코프? 스코프(scope)란, 변수의 활동 영역이었습니다. - 메소드 스코프 리뷰(https://cloudstudying.kr/challenges/374) #### 메소드 스코프 vs 클래스 스코프 이러한 스코프는 크게 두 종류로, 메소드 스코프와 클래스 스코프로 나뉘었습니다. - 메소드 스코프: 메소드 내부에서 활동 (예 - 파라미터, 지역변수) - 클래스 스코프: 클래스 전역에서 활동 (예 - 필드) #### 스코프 관련 주의 점? 스코프 관련하여 주의할 점은, 변수의 이름이 같은 경우입니다. ``` class Whatever { public void cool(int score) { String result = ""; ... } public void great(int score) { String result = ""; ... } } ``` 위 코드를 보면 cool() 메소드와 great() 메소드 내부에 둘 다 score 및 result 변수를 가지고 있습니다. 이들은 같은 이름이지만 서로 스코프가 다르기에 각각 개별적인 변수입니다. 서울 철수와 부산 철수가 다른 것처럼 말이죠. ## 문제 주어진 코드를 실행하고, 그 결과를 분석하시오. ## 출력 예 ``` score = 88 in main() score = 78 in foo() score = 88 in main() ```
관련 강의로 이동

코드: java 1.8

public class MethodScope { public static void main(String[] args) { // main 메소드의 지역변수 score int score = 88; System.out.printf("score = %d in main()\n", score); // Record 클래스의 메소드 수행 Record.foo(score); // main 메소드의 지역변수 score 출력 System.out.printf("score = %d in main()\n", score); } } class Record { // 클래스 메소드 public static void foo(int score) { // printMinus10 메소드의 파라미터 score의 값을 10 감소 score -= 10; // printMinus10 메소드의 파라미터 score의 값을 출력 System.out.printf("score = %d in foo()\n", score); } }

입력

정답이 궁금하다면? 코드를 제출해보세요!