본문 바로가기

컴퓨터공부/Java

public , private, protected 와 상속에 관하여.

by Life & study 2023. 10. 22.
반응형

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)

 

자바 접근 제한자의 종류와 차이(public, protected, private) : 예제 다운로드

자바 코딩할 때 가장 많이 보았던 public과 private의 차이점이 무엇인지 모르고 넘어갔던 분들을 위해 접근 제한자 또는 접근 제어자에 대해 간단히 표로 정리했습니다. 포스팅 하단에서 예제와 용

hongong.hanbit.co.kr

 

반응형

댓글