http://www.yes24.com/Product/Goods/103389317
Do it! 자바 완전 정복 책을 공부하며 요약・정리한 내용입니다.
접근 지정자와 사용 가능 범위
public | 동일 패키지의 모든 클래스 + 다른 패키지의 모든 클래스에서 사용 가능 |
protected | 동일 패키지의 모든 클래스 + 다른 패키지의 자식 클래스에서 사용 가능 |
default | 동일 패키지의 모든 클래스에서 사용 가능 |
private | 동일 클래스에서 사용 가능 |
클래스에서 생성자가 없는 경우 컴파일러는 기본 생성자를 자동으로 추가한다. 이 과정에 자동으로 추가되는 생성자는 그 클래스의 접근 지정와 동일한 접근 지정자로 정해진다.
예를 들어 public클래스에서 자동으로 추가되는 생성자도 public이고, default 클래스에서 자동으로 추가되는 생성자는 default가 되는 것이다.
e.g.
package temp.test1;
// public 클래스
public class A {
//기본 생성자 자동으로 생성(public)
}
package temp.test1;
// default 클래스
class B {
// 기본 생성자 자동으로 생성(default)
}
package temp.test1;
//public 클래스
class C {
C() {
//default 생성자 직접 생성
}
}
package temp.test2;
import temp.test1.A;
//import temp.test2.B;
import temp.test1.C;
public class Modifier {
public static void main(String[] args) {
A a = new A();
// B b = new B();
// 클래스 B는 import 할 수 없으므로 선언, 호출 불가
// C c = new C();
// 클래스 C는 import 가능해서 선언은 가능하지만
// default생성자여서 호출은 불가능
}
}
부족하거나 잘못된 내용이 있을 경우 댓글 달아주시면 감사하겠습니다.
이 글에 부족한 부분이 존재할 경우 추후에 수정될 수 있습니다.
'Java > Java' 카테고리의 다른 글
상속(Java) (0) | 2022.04.27 |
---|---|
static 제어자 (Java) (0) | 2022.04.25 |
가변 길이 배열 입력매개변수 메서드 (Java) (0) | 2022.04.11 |
long형과 float형 뒤에 ‘L’과 ’f’가 붙는 이유 (0) | 2022.01.23 |
터미널을 이용한 Java의 동작원리 (0) | 2021.12.28 |