[TIL] Java- 접근 제한자

테디·2022년 6월 8일
0

📝 접근 제한자

💡 접근 제한자의 종류
Public, Protected, Default, Private
Public는 공개한다는 의미로 외부 클래스가 자유롭게 사용할 수 있는 공개 맴버를 만든다.
Protected는 같은 패키지 또는 자식 클래서에서 사용할 수 있는 맴버를 만든다.
Private는 개인적인 이라는 의미로 외부에 노출되지 않는 맴버를 만든다.
Default 는 접근 제한자는 같은 페키지에 소속된 클래스에서만 사용할 수있는 맴버를 만든다.


접근 제한적용 대상접근할 수 없는 클래스
Public클래스, 필드, 생성자,메소드없음
Protected필드, 생성자, 메소드자식 클래스가 아닌 다른 패키지에 소속된 클래스
Default클래스, 필드, 생성자,메소드다른 패키지에 소속된 클래스
Private필드, 생성자, 메소드모든 외부 클래스

클래스의 접근제한

Defalut 접근 제한

같은 패키지에서는 아무런 제한 없이 사용 가능하지만 다른패키지에서는사용 할 수 없음

Class 클래스 { ... } 

Public 접근 제한

같은 패키지 뿐만아니라 다른 패키지에서도 접근 가능

Public Class 클래스 { .... }

📝생성자의 접근제한

객체를 생성하기 위해선 new 연산자로 생성자를 호출해야 한다 하지만 생성자 또한 어디에선 호출할 수 있는 것이 아니기에 접근 제한을 통해 호출 가능 여부를 결정할 수 있다

public class Classname {
    Public ClassName() {  }
	protected ClassName() {  }
	ClassName() { }
	Private ClassName() {  } }

Private 접근 제한

동일 패키지이건 다른 패키지이건 상관없이 생성자를 호출하지 못하도록 제한한다.
따라서 클래서 외부에서 new 연산자로 객체를 만들 수 없고 크래서 내부에서만 생성자 호출과 객체 생성이 가능하다

0개의 댓글