코딩항해기

[과제/JAVA] 멘토시리즈 : 자바 - 10 상속 응용문제 본문

problem solving/문제 풀기

[과제/JAVA] 멘토시리즈 : 자바 - 10 상속 응용문제

miniBcake 2024. 7. 21. 14:22

 

문제 1. 다음 중 상속과 관련된 단어를 모두 고르세요.

super, super(), this, extends

 

 

 

문제 2. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까?

상속받은 자식 클래스에서 별도로 오버라이딩하지 않았으므로 똑같이 출력된다.

[console]

안녕하세요.

안녕하세요.

 

 

 

문제 3. 문제 2번 코드에서 class Student가 Person의 printHello()를 다음과 같이 오버라이드 했을 때, 콘솔창에 출력되는 결과는 무엇입니까?

'안녕하세요, 저는 자바를 공부하는 학생입니다.'가 출력되도록 오버라이딩 하였으므로 해당 문구가 출력된다.

[console]

안녕하세요.

안녕하세요, 저는 자바를 공부하는 학생입니다.

 

 

 

문제 4. 다음 코드는 컴파일 에러가 발생합니다. 그 이유는 무엇이며 어떻게 해결해야할까요?

생성자의 접근제한자가 private로 되어있어 다른 클래스에서 접근할 수 없기 때문이다.

이를 해결하기 위해서는 생성자의 접근제한자를 public로 바꿔주어야한다.

 

 

 

문제 5. 다음 두 개의 클래스는 상속 관계에 있으나, 다른 패키지에도 속해있습니다. Child클래스에서 Parent클래스의 parentMethod를 호출하기 위해 어떤 코드를 빈칸에 작성해야할까요?

parentMethod의 접근제한자는 protected로 클래스 내부와 상속받는 자식 클래스에서 접근할 수 있다는 특징을 가지고 있다. 따라서 부모 클래스를 뜻하는 super를 통해 parentMethod를 호출할 수 있다.

super.parentMethod();