공개 클래스 필드
지금까지 이 강의에서는 접근 제한자를 지정하지 않고 속성과 메서드를 만들어 왔어요. 이번에는 코드에서 알맞은 속성에 public 접근 제한자를 명시적으로 지정해 보겠습니다.
NOTE: Java에서 명시적인 접근 제한자가 없는 속성은 기본적으로 package-private이며, public과 유사하게 접근할 수 있어요. 또한, 하나의 파일에는 오직 한 개의 클래스만 public으로 명시할 수 있습니다.
이 연습은 강의의 일부입니다
Java로 배우는 객체 지향 프로그래밍 입문
연습 안내
Car클래스의model,year속성에public접근 제한자를 추가해 public으로 표시하세요.turnEngineOn과calculateMPG메서드에도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));
}
}