# 감춰진 필드 가져오기 - 게터(getter) #### private 필드 private 필드는 외부에서 직접 값을 가져올(read) 수 없습니다. 이를 외부에서 읽기 위해서는 게터 메소드가 필요합니다. ![클라우드스터딩-자바-게터-메소드](https://i.imgur.com/rk87USi.png) #### 게터? 게터(getter)는, private 필드를 우회적으로 접근(read)하게 합니다. ``` class SmartPhone { // private 필드 - 외부 접근 불가 private int number; // 게터 메소드 - number를 우회하여 반환 public int getNumber() { return number; } } ``` #### 게터의 특징? 게터 메소드는 아래의 특징을 갖습니다. - private 필드를 반환한다. - public 이다. - 메소드명은 <kbd>get</kbd> + <kbd>필드명</kbd>으로 한다. ## 문제 주어진 코드는 Person 객체의 이름과 연락처를 출력하려한다. 하지만 아래와 같은 에러가 발생하고 있다. ``` PersonTest.java:7: error: name has private access in Person System.out.printf("이 름: %s\n", park.name); ^ PersonTest.java:8: error: phoneNumber has private access in Person System.out.printf("연락처: %s\n", park.phoneNumber); ^ 2 errors ``` 출력 예와 같은 결과를 얻도록, 프로그램을 완성하시오. ## 출력 예 ``` 이 름: 홍팍 연락처: 010-1234-5678 ```
관련 강의로 이동

코드: java 1.8

public class PersonTest { public static void main(String[] args) { // 객체 생성 Person park = new Person("홍팍", "010-1234-5678"); /* 1. 게터를 호출하여 필드값을 얻으시오. */ System.out.printf("이 름: %s\n", park.name); System.out.printf("연락처: %s\n", park.phoneNumber); } } class Person { // 필드 private String name; private String phoneNumber; // 생성자 public Person(String n, String p) { name = n; phoneNumber = p; } // 게터 public String getName() { return name; } /* 2. phoneNumber 필드의 게터를 추가하시오. */ }

입력

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