SQLD프로그래밍 언어 활용Java 접근 제어자난이도 2MCQ

SQLD Java 접근 제어자 기출문제 #4394

문제

다음 Java 코드는 외부에서 Account 클래스의 멤버 변수에 직접 접근하지 못하도록 접근제어자를 지정한 것이다. 빈칸에 들어갈 알맞은 접근 제어자 조합은?

Java
class Account { <빈칸> int balance; <빈칸> void deposit(int amount) { balance += amount; } } public class Main { public static void main(String[] args) { Account a = new Account(); a.deposit(100); } }

① public, public ② private, private ③ private, public ④ protected, public

정답

3

해설

정답: 3. 외부에서 직접 접근할 수 없도록 멤버 변수는 private으로, 외부에서 호출 가능해야 하는 메서드는 public으로 선언해야 한다.

오답 풀이

  • 1번: balance가 public이면 외부에서 직접 접근 가능해 캡슐화가 깨진다.
  • 2번: deposit까지 private이면 외부에서 호출할 수 없다.
  • 3번: balance는 private, deposit은 public이 적절한 조합이다.
  • 4번: protected는 동일 패키지나 하위 클래스에서 접근 가능하므로 외부 직접 접근 차단이 약하다.

보충 개념 캡슐화는 필드를 private으로 숨기고 public 메서드를 통해 통제된 접근을 허용하는 원리이다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] Java 접근 제어자 프로그래밍 언어 활용 기출 #4394 | 문어CBT