public , private, protected
public 접근 제한자: 단어 뜻 그대로 외부 클래스가 자유롭게 사용할 수 있도록 합니다.
protected 접근 제한자: 같은 패키지 또는 자식 클래스에서 사용할 수 있도록 합니다.
private 접근 제한자: 단어 뜻 그대로 개인적인 것이라 외부에서 사용될 수 없도록 합니다.
public
public: 이 접근 제어자가 붙은 멤버는 어디서든지 접근 가능합니다.
+-----------------------------------+
| Class |
| |
| +------------------------+ |
| | public | |
| +------------------------+ |
+-----------------------------------+
^ ^ ^
| | |
All classes can access
private,
2. `private`: 이 접근 제어자가 붙은 멤버는 해당 클래스에서만 접근 가능합니다.
+-----------------------------------+
| Class |
| |
| +------------------------+ |
|- - >| private |- - >|
| +------------------------+ |
+-----------------------------------+
protected
'상속을 받는다는것' 은 무엇인가? 상속과 protected 접근에 대한
public class ClassA {
protected int num;
}
public class ClassB extends ClassA {
public void method() {
num = 10; // 가능: ClassB는 ClassA의 하위 클래스이므로 protected 멤버 num에 접근 가능
}
}
protected 접근 제어자와 관련하여 "상속을 받는다"는 것은 extends 키워드를 사용하여 클래스를 상속받았을 때를 의미합니다.
예를 들어, ClassA가 protected 필드나 메소드를 가지고 있고, ClassB가 ClassA를 상속받았다면(ClassB extends ClassA) ClassB에서는 ClassA의 protected 멤버에 접근할 수 있습니다.
이 경우, '상속'이라는 용어는 '클래스 이름을 쓰고 . 을 사용해서 사용했을 때'가 아니라 'extend 를 사용해서 이름을 호출하면 상속'인 경우입니다. 그래서 하위 클래스에서 부모 클래스의 protected 멤버에 직접적으로 액세스할 수 있습니다.
접근이 불가능한 경우,
다른 패키지에서 일반적인 방법으로 (즉, 객체 생성 후 . 연산자로) protected 멤버에 접근하려고 하면 그것은 허용되지 않습니다.
자바 접근 제한자의 종류와 차이(public, protected, private) : 예제 다운로드 (hanbit.co.kr)
'컴퓨터공부 > Java' 카테고리의 다른 글
[java 자바공부] 스레드란 , @Override , Hashmap (0) | 2023.10.25 |
---|---|
[java 자바공부]1급 객체, T, R, U, D 등의 알파벳 , 클래스의 인스턴스 , 람다 (0) | 2023.10.24 |
Object와 오버라이딩 - 실습_프로그래머스 (0) | 2023.05.02 |
java api 공부 (0) | 2023.05.02 |
댓글