[Java] - 접근제한자

1. 클래스의 접근제한

 

 - dafault 접근제한 : 같은 패키지에서는 아무런 제한 없이 사용가능하지만 다른 패키지에서는 사용불가

 - public  접근제한 : 같은 패키지뿐만 아니라 다른 패키지에서도 아무런 제한 없이 사용가능

 

클래스의 접근제한은 위의 2가지만 사용할 수 있으며 private 등과 같은 접근제한자는 사용할 수 없다.

 

2. 생성자, 필드, 메소드 접근제한

 

 - public 접근제한 : 모든 패키지에서 아무런 제한없이 생성자, 필드, 메소드를 호출할 수 있음

 

 - default 접근제한 : 같은패키지에서는 제한 없이 생성자, 필드, 메소드를 호출할 수 있으나 다른 패키지에서는 호출 할 수 없음

 

 - protected 접근제한 : default 접근 제한과 마찬가지로같은 패키지에 속하는 클래스에서는 제한없이 호출가능하며 차이점은 다른 패키지에 속한 클래스더라도 해당 클래스의 자식클래스라면 호출 할 수있다.

 

 -private 접근제한 : 동일한 패키지이건 다른패키지건 상관없이 생성자, 필드, 메소드를 호출 할 수 없고 오로지 클래스 내부에서만 호출할 수 있고 객체를 만들 수 있다.

 

 

 싱글톤 패턴은 여러개의 객체를 만들지 못하도록 설계하는데 이때 private 접근 제한을 선언하고 자신의 유일한 객체를 리턴하는 getInstance() 정적 메소드를 선언한다.

 

 

'Java' 카테고리의 다른 글

[Java] - 추상 클래스  (0) 2020.09.24
[Java] - Getter, Setter 메소드  (0) 2020.09.21
[Java] - 싱글톤  (0) 2020.09.21
[프로그래머스] - 약수의 합 (java)  (0) 2020.09.18
[Java] - 메소드 오버로딩  (0) 2020.09.18