main() 메소드를 가지지 않는 대부분의 클래스는 외부 클래스에서 이용할 목적으로 설계된 라이브러리 클래스 라이브러리 클래스 설계 할때는 외부 접근 멤버, 접근 불가 멤버로 구분 해서 필드, 생성자, 메소드를 설계, 바람직 객체 생성을 막기 위해 생성자를 호출하지 못하게 하거나 객체의 특정 데이터를 보호하기 위해 해당 필드에 접근하지 못하도록 막아야 한다. 특정 메소드를 호출 할수 없도록 제한할 필요가 있다 -> 접근 제한자 제공 public - 외부 클래스가 자유롭게 사용 할 수 있는 공개 멤버를 만든다. protected - 같은 패키지 또는 자식 클래스에서 사용 할수 있는 멤버 default - 같은 패키지에 소속된 클래스 에서만 사용 private - 외부에 노출되지 않는 멤버 접근제한 적용 대..