📟java/개발 이론정리

객체지향 기초 정리.

하얀성 2023. 9. 30. 22:13

필드의 활동 영역?

필드의 활동 영역은 클래스 전체입니다. 따라서, 메소드 호출 시 필드를 사용할 수 있습니다.

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);
  }
}

정리


출처 : 그림으로 배우는 자바 객체지향