# 감춰진 필드 가져오기 - 게터(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 ```
## 큰 의미는 없습니다. 문제풀이 상 public 유무와 상관없이 정상 동작합니다. ## public vs default public이 붙은 경우 모두 공개가 되고 디폴트 접근 제한자 즉, 아무제한자도 명시되지 않은 경우엔 동일 패키지 내부에 한정하여 공개됩니다. 조금 더 자세한 내용은 "자바 public default 접근 제한자" 정도로 구글링해보세요.
생성자로 public을 명시하지않으면 다른 패키지에서 해당 객체를 생성할수없게됩니다. 생성자에 private을 붙여 객체생성을 제한하는 싱글톤 기법도있습니다.