# 감춰진 필드 가져오기 - 게터(getter)
여태까지 생성자를 만들때는 public을 붙이지 않았는데 왜 붙이는지 알 수 있을까요??
#### CODE <a class='btn btn-default' href='/codes/57896'>Link</a>
```
public class PersonTest {
public static void main(String[] args) {
// 객체 생성
Person park = new Person("홍팍", "010-1234-5678");
/* 1. 게터를 호출하여 필드값을 얻으시오. */
System.out.printf("이 름: %s\n", park.getName());
System.out.printf("연락처: %s\n", park.getPhoneNumber());
}
}
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 필드의 게터를 추가하시오. */
public String getPhoneNumber(){
return phoneNumber ;
}
}
```
#### INPUT
```
```
#### OUPUT
```
이 름: 홍팍
연락처: 010-1234-5678
```
sehongpark님의 답변
## 큰 의미는 없습니다.
문제풀이 상
public 유무와 상관없이
정상 동작합니다.
## public vs default
public이 붙은 경우
모두 공개가 되고
디폴트 접근 제한자
즉, 아무제한자도 명시되지 않은 경우엔
동일 패키지 내부에 한정하여 공개됩니다.
조금 더 자세한 내용은
"자바 public default 접근 제한자"
정도로 구글링해보세요.
kjs990114님의 답변
생성자로 public을 명시하지않으면
다른 패키지에서 해당 객체를 생성할수없게됩니다.
생성자에 private을 붙여 객체생성을 제한하는 싱글톤 기법도있습니다.