작성
·
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(); 로 변경해보시겠어요?
감사합니다.