인프런 커뮤니티 질문&답변

suhyunpar님의 프로필 이미지
suhyunpar

작성한 질문수

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

다음으로

자식 클래스와 protected 메서드

작성

·

143

·

수정됨

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

package parent;

public class Parent {

    protected static void staticTest(){
        System.out.println("정적 메서드");
    }


    protected void notStaticTest(){
        System.out.println("인스턴스 메서드");
    }

}

 

package child;

import parent.Parent;

public class Child extends Parent {
    public static void main(String[] args) { /
        Paretn.staticTest();
        //정적 메서드는 정적 메서드 호출가능
        Parent parent = new Parent();
        
        parent.notStaticTest();
        // 호출불가 컴파일 오류
         
        Child child = new Child();

        child.notStaticTest();
        // 호출가능 

Child 클래스가 Parent 클래스를 상속 받았고

notStaticTest 메서드의 접근제어자가

protected 인데

Parent parent = new Parent();

parent.notStaticTest();

// 호출불가 컴파일 오류

Child child = new Child();

child.notStaticTest();

// 호출가능

 

둘의 차이가 무엇이어서

호출의 가능여부가 다른지 궁금합니다.

 

 

 

답변 1

0

안녕하세요. suhyunpar님, 공식 서포터즈 코즈위버입니다.

코드상으로 보면 Parent의 정적메서드를 호출하는 코드에 오타가 있는것으로 보이는데요.

Paretn.staticTest(); 이 부분을 Parent.staticTest(); 로 변경해보시겠어요?

감사합니다.

suhyunpar님의 프로필 이미지
suhyunpar

작성한 질문수

질문하기