필드의 활동 영역?
필드의 활동 영역은 클래스 전체입니다. 따라서, 메소드 호출 시 필드를 사용할 수 있습니다.
class Dog {
String name;
int age;
void bark() {
// 필드 name을 사용
System.out.println(name + "의 멍멍!");
}
}
스코프 정리
- 클래스 스코프: 필드
- 메소드 스코프: 파라미터, 지역변수
지역변수?
여기서 지역변수란, 메소드 내부에 선언된 변수입니다.
class DrinkMachine {
String output; // 필드 output 선언
void pushButton(int num) { // 파라미터 num 선언
// 지역변수 drinks 선언
String[] drinks = {"콜라", "사이다", "맥주"};
output = drinks[num];
}
void printOutput() {
System.out.println(output);
}
}
메소드 스코프 활용 예시
public class DrinkMachineTest {
public static void main(String[] args) {
// 객체 생성
DrinkMachine machine1 = new DrinkMachine();
DrinkMachine machine2 = new DrinkMachine();
// 음료 뽑기
machine1.pushButton(1);
machine2.pushButton(2);
// 음료 확인
machine1.printOutput();
machine2.printOutput();
}
}
class DrinkMachine {
/* 필드 */
String output;
/* 메소드 */
void pushButton(int num) {
String[] drinks = {"콜라", "사이다", "맥주"};
output = drinks[num];
}
void printOutput() {
System.out.println(output);
}
}
정리
출처 : 그림으로 배우는 자바 객체지향
'📟java > 개발 이론정리' 카테고리의 다른 글
this || getter(값 불러오기. return사용), setter(값 변경 ,this사용) (0) | 2023.10.02 |
---|---|
접근제어자 (0) | 2023.10.01 |
레퍼런스와 스태틱 (0) | 2023.10.01 |
생성자 , String.format("포맷 문자열", 인자1, 인자2, ...) (0) | 2023.09.30 |
클론코딩과 포폴 (0) | 2023.04.02 |