접근제한자
- 멤버 또는 클래스에 사용되어 외부에서 접근하지 못하도록 제한하는 역할
 
- 데이터 타입 앞에 명령어 작성
 
|   | 다른패키지 | 같은 패키지 | 같은클래스 | 
|---|
| Public |   O |   O |   O | 
| Protected | 자식클래스만 |   O |   O | 
| Default |   X |   O |   O | 
| Private |   X |   X |   O | 
- 접근제한자가 따로 지정되어 있지 않으면 전부 Default
 
- 메서드, 생성자에도 적용 가능
 
1. 메서드
Private Sample1 (int a, int b){}
2. 생성자
Public Car (){}
접근제한자의 사용
- 클래스는 Public, Default만 가능하며 상수는 Public으로 공개함
 
- 일반적으로 멤버변수는 private, 생성자는 public을 사용
 
- 매개변수, 지역변수는 접근제한자 사용불가
 
- 다른 패키지에서 실행 시 import명령어 필요
 
1. modifier1 패키지의 Sample1 클래스
package modifier1;
public class Sample1 {
	public int a;
    
    
    
2. modifier2 패키지의 Sample2 클래스
package modifier2;
import modifier1.Sample1;		//
public class Sample2 {
	
	public static void main(String[]args) {
		Sample1 s1 = new Sample1();	
        s1.a = 10;
Getter, Setter
- 자바는 변수로의 직접 접근보다 메서드를 통한 간접접근을 선호함
따라서 멤버변수는 대부분 같은 클래스 내의 메서드로 접근함 
- Getter: 변수값 조회 시 사용
Setter: 변수값 수정, 삭제, 추가 시 사용 
|   |    용도 | 반환값 | 매개변수 | 
|---|
| Get |    조회 |   O |   X | 
| Set |  생성, 변경, 삭제 |  void |   O |