Java - 문제 미리보기
문제 2271
medium
다음 코드의 실행 결과는 무엇인가요?
```java
public class Car {
private String model;
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
public class Main {
public static void main(String[] args) {
Car myCar = new Car();
myCar.model = "BMW"; // 라인 A
System.out.println(myCar.getModel());
}
}
```
정답: C
⦁ 컴파일 에러 발생 원인:
• `model` 변수가 `private`로 선언되어 외부 클래스에서 직접 접근 불가능
• 라인 A에서 `myCar.model = "BMW"` 시도 시 컴파일 에러 발생
⦁ 에러 메시지: "model has private access in Car"
⦁ 올바른 방법:
```java
myCar.setModel("BMW"); // setter 메소드 사용
System.out.println(myCar.getModel()); // "BMW" 출력
```
⦁ 캡슐화의 핵심: private 변수는 반드시 public 메소드를 통해서만 접근해야 합니다
💡 학습 팁
이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.