시작하기무료로 시작하기

공개 클래스 필드

지금까지 이 강의에서는 접근 제한자를 지정하지 않고 속성과 메서드를 만들어 왔어요. 이번에는 코드에서 알맞은 속성에 public 접근 제한자를 명시적으로 지정해 보겠습니다.

NOTE: Java에서 명시적인 접근 제한자가 없는 속성은 기본적으로 package-private이며, public과 유사하게 접근할 수 있어요. 또한, 하나의 파일에는 오직 한 개의 클래스만 public으로 명시할 수 있습니다.

이 연습은 강의의 일부입니다

Java로 배우는 객체 지향 프로그래밍 입문

강의 보기

연습 안내

  • Car 클래스의 model, year 속성에 public 접근 제한자를 추가해 public으로 표시하세요.
  • turnEngineOncalculateMPG 메서드에도 public 접근 제한자를 추가해 public으로 바꾸세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

public class Main {  

    static class Car {
        public String color;
        // Make "model" and "year" public
        ____ String model;
        ____ int year;

        Car(String color, String model, int year) {
            this.color = color;
            this.model = model;
            this.year = year;
        }

        // Make "turnEngineOn" method public
        ____ void turnEngineOn() {
            System.out.println("engine is on");            
        }

        // Make "calculateMPG" method public
        ____ int calculateMPG(int milesDriven, int gallonsUsed) {
            return milesDriven / gallonsUsed;
        }
    }

    public static void main(String[] args) {
        Car myCar = new Car("red", "camry", 2022);
        System.out.println(myCar.calculateMPG(180, 20));
    }
}
코드 편집 및 실행