# 외부로부터 감추기 - private #### 무엇? <kbd>private</kbd> 키워드는 외부 접근을 차단합니다. ![클라우드스터딩-자바-접근-제한자-public-private](https://i.imgur.com/tIKns8V.png) #### 코드 예 위 그림을 코드로 나타내면 아래와 같습니다. 외부 클래스에서 해당 내용을 사용할 수 없습니다. ``` class Account { public int number; // 완전 공개 필드 private String password; // 비공개 필드 private int balance; // 비공개 필드 // 비공개 메소드 - 외부 호출 불가 private void somthing() {} } ``` ## 문제 주어진 코드는 Theif 와 Wallet 클래스로 구성되어있다. 지갑속 삼만원이 분실되지 않도록 Wallet 객체의 필드를 보호하여, 출력 예와 같은 결과를 얻으시오. ## 출력 예 ``` error: money has private access in Wallet target.money = 0; ^ 1 error ```
관련 강의로 이동

코드: java 1.8

public class Theif { // 메인 메소드 public static void main(String[] args) { // 지갑 객체 생성 Wallet wallet = new Wallet(30000); System.out.print(wallet.toString()); // 지갑에서 돈을 모두 꺼냄 Theif.steal(wallet); // 지갑 확인 System.out.println(" -> " + wallet.toString()); } // 클래스 메소드 public static void steal(Wallet target) { target.money = 0; } } class Wallet { // 필드(인스턴스 변수) int money; /* 1. 주어진 필드를 외부로부터 감추세요. */ // 생성자 public Wallet(int i) { money = i; } // 메소드 public String toString() { return String.format("Wallet { money: %d }", money); } }

입력

정답이 궁금하다면? 코드를 제출해보세요!