JAVA

스코프(scope), 변수의 활동영역

_-_-kk 2023. 5. 6. 13:00

스코프란?

변수의 활동영역

 

필드의 활동영역?

클래스 전체.

따라서 메소드 호출 시 필드 사용가능.

1
2
3
4
5
6
7
8
class Dog {
  String name;
  int age;
  void bark() {
    // 필드 name을 사용
    System.out.println(name + "의 멍멍!");
  }
}
cs

 

파라미터와 지역변수의 활동영역?

자신이 속한 메소드 내부.

 

1
2
3
4
5
6
7
8
9
10
11
class DrinkMachine {
  String output; // 필드 output 선언
  void pushButton(int num) { // 파라미터 num 선언
    // 지역변수 drinks 선언
    String[] drinks = {"콜라""사이다""맥주"};
    output = drinks[num];
  }
  void printOutput() {
    System.out.println(output);
  }
}
cs

지역변수란?

메소드 내부에 선언된 변수

 

 

 

 

클래스 스코프

필드

메소드 스코프

파라미터, 지역변수