inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 기본편

서로 다른 패키지에서 protected 상속 관계 사용

159

한조

작성한 질문수 20

0

안녕하세요

자바 복습을 하다가 헷갈리는 부분이 생겨 글 남겼습니다.

 

package ex1;

public class Parent {
    protected void method() {
        System.out.println("parent");

    }
}

-------
package .ex2;

import ex1.Parent;

public class Child extends Parent {

    @Override
    protected void method() {
        System.out.println("CHild");
    }
}

-------
package ex3;

import ex1.Parent;
import ex2.Child;

public class Main {

    public static void main(String[] args) {
        Parent p= new Child();
        p.method(); //컴파일 오류 
    }
}

위의 코드에서 ex3 패키지에서 p.method()가 오류가 나는 이유를 잘 모르겠습니다...

protected 접근 제한자는 같은 패키지 이거나 상속 관계일때 접근이 가능한 걸로 알고 있습니다.

 

p.method()를 실행하면 Child에 있는 method()가 실행되어야하는거 아닌가요?

Parent와 Child는 다른 패키지라도 상속관계에 있으므로 실행이 될 것 같다고 생각했는데 왜 오류가 나는지 모르겠습니다

 

java 객체지향

답변 2

0

y2gcoder

안녕하세요. 한조님, 공식 서포터즈 y2gcoder입니다.

말씀하신 것처럼

protected 접근 제어자는 같은 패키지나 상속관계일 때만 접근이 가능합니다!

그런데

Main-Child, Main-Parent 는 같은 패키지나 상속관계가 아니기 때문에 Main 에서 해당 메서드를 호출 할 수 없습니다 🙂

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 한조님.

상속 관계와 캡슐화에 관해 궁금증을 가지셨군요. 관련된 주제로 이미 유사한 질문과 답변이 여러 개 있어서, 그 중 도움될 만한 자료를 공유해 드리겠습니다.

관련 질문 자료

  1. 상속 관계와 캡슐화 질문
    • 이 질문은 상속 관계에서 부모 클래스의 필드를 protected로 선언했을 때와 private로 선언했을 때의 접근 방법에 대해 다룹니다. 원하시는 캡슐화 및 필드 접근 관한 내용을 확인하실 수 있습니다.

상속과 캡슐화

  1. 상속 질문: 상속 관계의 protected 필드 접근
    • 이 질문은 protected 접근 제어자가 상속 관계에서 어떻게 동작하는지 설명합니다. 자식 클래스와 같은 패키지에 위치하는 경우, protected 필드가 어떻게 다르게 동작하는지도 다룹니다.

protected 접근 제어자

  1. 실전 예제4 - 상속관계 매핑 관련 질문
    • JPA 실전 예제에서 상속 관계 매핑을 사용할 때 발생할 수 있는 문제와 해결 방법을 다룹니다. 프로젝트 설정과 관련된 내용이지만, 상속 및 필드 접근에 관한 기본 이해에도 도움이 될 수 있습니다.

이들 자료는 상속 관계에서의 접근 제어 방법, protectedprivate의 차이 및 각자의 접근 방식에 대해 잘 설명하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

질문있습니다

0

27

1

1번 문제 질문입니다.

0

32

1

음악플레이어 문제 중 코드질문

0

26

1

9장 상속 문제와 풀이 질문

0

38

1

강의 자료에 사소한 오타가 있습니다.

0

49

2

매서드 참조값 반환??

0

66

1

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

0

70

1

자바 기본편 - .(dot)에 관한 질문입니다!

0

85

1

공부방법

0

74

2

상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?

0

82

1

static method 질문

0

66

1

캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요

0

96

1

Method1에서 Student 객체

0

73

1

3강 18. null 질문

0

68

1

this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?

0

75

1

팩토리 메서드 패턴과 일반 생성자 사용의 장단점

0

97

1

문의

0

104

1

9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다

0

90

1

상속과 그에 따른 메모리 구조 질문

0

62

1

call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다

0

74

1

수강기한

0

136

1

기본편 객체지향 프로그래밍에 대한 정의

0

86

1

섹션10 상속 메모리 구조 및 문제 관련 질문

0

87

1

추가 지식 학습

0

152

2