클래스 접근 지정자와 생성자 접근 지정자(java)


http://www.yes24.com/Product/Goods/103389317

 

Do it! 자바 완전 정복 - YES24

이 책은 ‘이제 막 프로그래밍에 입문한 사람’에게 꼭 필요한 기본기부터 ‘찐개발자’라면 꼭 알아야 할 내용까지 국내 집필서 중 가장 많은 도해와 그림을 이용해 설명한다. 특히 프로그래

www.yes24.com

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생성자여서 호출은 불가능
	}
}

 

 

 


https://www.instagram.com/p/CaRRlZwPc4a/?utm_source=ig_web_copy_link

부족하거나 잘못된 내용이 있을 경우 댓글 달아주시면 감사하겠습니다.

이 글에 부족한 부분이 존재할 경우 추후에 수정될 수 있습니다.