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()); } } ```
A. `BMW` 출력
B. `null` 출력
C. 컴파일 에러 발생
D. 런타임 에러 발생

정답: 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 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.