1. 특징

    1. 접근제어자는 클래스, 인스턴스 및 클래스 변수를 선언할 때 사용됨으로써 외부에서 접근하지 못하도록 제한하는 역할을 합니다.
    2. 접근 제어자는 필드와 메서드, 생성자에 사용된다.
  2. 종류

    1. public
      1. 누구나 접근할 수 있도록 할때 사용
    2. protected
      1. 같은 패키지 내에 있거나 상속받은 경우에만 접근 가능
    3. package-private
      1. 아무런 접근 제어자를 적어주지 않을 때이며, 같은 패키지 내에 있을 때만 접근 가능
    4. private
      1. 해당 클래스 내에서만 접근 가능
    //public 예시
    public class As{
    	int volume;
    }
    public class As2{
    	As as=new As();
    	as.volume; // 이 식으로 접근 가능
    }
    
    //protected
    package access;
    
    public class a{
    protected	int a=1;
    }
    
    package access;
    
    public class ab{
    	a a=new a();
    	a.a; // 접근가능
    }
    //하지만 
    package access2; // 접근 불가능 패키지가 달라서
    
    public class Ab{
    	a a = new a();
    	a.a; //접근 불가능 위의 이유로
    }
    
    package access;
    
    public class Ab{
    	private int a;//  다른 클래스에서는 접근 불가능
    }