java 접근제한자 관련해서 질문 드립니다
안녕하세요 java 에는 여러가지 접근제한자 가 존재하는데요
대부분 public 이걸 쓰긴쓰는데 이거 말고도 여러가지가 있는걸로
알고있습니다. 접근제한자 관련 설명 부탁드립니다.
접근제한자를 안 쓰면 기본적으로 같은 패키지에서 접근할 수 있게 됩니다.
public 접근 제한자를 쓰면 누구나 접근할 수 있습니다.
protected 접근 제한자를 쓰면 자식 클래스에서 접근할 수 있습니다. 외부에서는 접근하지 못합니다.
private 접근 제한자를 쓰면 자식 클래스에서도 접근할 수 없습니다. 내부에서만 접근할 수 있습니다.안녕하세요 BTC 입니다. 접근제한자 종류와 간단한 설명 드립니다.
Public
모든 클래스와 모든 패키지에서 접근 가능합니다.
Protected
동일패키지에서 접근가능함, 그리고 다른패키지일 경우 상속을 통해서 접근도 가능합니다.
Default
접근 제한자 예약어를 적지 않은 경우
동일 패키지에서만 접근 가능합니다.
Private
자신의 클래스 내부에서만 접근
public > protected > default > private
접근제한자
public - 같은 프로젝트 내에는 어디서든 사용 접근 제한이 없다.
protected - 같은 패키지 내, 다른 패키지에서 상속받아 자손클래스에서 접근 가능
default - 같은 패키지 내에서만 접근 가능
private - 같은 클래스 내에서만 접근 가능
접근 제한자의 종류에는 public, protected, default, private로 4가지가 있습니다. public부터 private까지 순서대로 접근제한이 강화됩니다. public 접근 제한자는 '공용'이라는 단어의 뜻에 맞게 외부 클래스가 자유롭게 사용할 수 있는 공개 멤버를 만드는데요, protected 접근 제한자는 같은 패키지 또는 자식 클래스에서 사용할 수 있는 멤버를 만듭니다. private접근 제한자는 '개인적'이라는 단어의 뜻에 맞게 외부에 노출되지 않는 멤버를 만듭니다. 이렇게 3가지의 접근 제한을 갖지 않는 멤버는 default 접근 제한을 갖는데 default 접근 제한자는 같은 패키지에 소속된 클래스에서만 사용할 수 있는 멤버를 만듭니다.
감사합니다.