[멘토씨리즈 자바] 10 상속 응용문제

2024. 7. 22. 09:52·책/멘토씨리즈 자바

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

  1. super
  2. super()
  3. this
  4. extends

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

package section10;
 
class Person {
	void printHello() {
    	System.out.println("안녕하세요.");
    }
}
 
class Student extends Person {
}
 
public class PRACTICE_10_02 {
	public static void main(String[] args) {
    	Person p = new Person();
        p.printHello();
        
        Student s = new Student();
        s.printHello();
    }
}

 

더보기

안녕하세요.

안녕하세요.

3. <PRACTICE_10_02.java> 코드에서 class Student가 Person의 printHello()를 다음과 같이 오버라이드 했을 때, 출력되는 결과는 무엇입니까?

class Student extends Person {
	@Override
    void printHello() {
    	System.out.println("안녕하세요, 저는 자바를 공부하는 학생입니다.");
    }
}
더보기

안녕하세요.

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

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

package section10;
 
public class ClassA {
	private int a;
    
    private ClassA(int a) {
    	this.a = a;
    }
    
    public void methodA() {
    	System.out.println("ClassA클래스의 methodA() 메서드입니다.");
        System.out.println("필드 a의 값은 " + a + "입니다.");
    }
}

package section10;
 
public class ClassB {
	public static void main(String[] args) {
    	ClassA ca = new ClassA(3);
        ca.methodA();
    }
}
더보기

ClassA의 생성자의 접근제어자가 private이기 때문에  ClassB에서 접근할 수 없다.

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

package section10.access1;
 
public class Parent {
	protected void parentMethod() {
    	System.out.println("parentMethod is called");
    }
}

package section10.access2;
import section10.access1.*;
 
public class Child {
	void accessParentMethod() {
    	`???`
    }
}
더보기

접근 제어자를 protected로 작성하면 된다.

package section10.access2;
import section10.access1.*;
 
public class Child extends Parent {
	void accessParentMethod() {
    	super.parentMethod();
    }
}

 

 

 

 

'책 > 멘토씨리즈 자바' 카테고리의 다른 글

[멘토씨리즈 자바] 12 추상클래스와 인터페이스 응용문제  (2) 2024.07.24
[멘토씨리즈 자바] 11 다형성과 타입 변환 응용문제  (2) 2024.07.23
[멘토씨리즈 자바] 09 생성자  (0) 2024.07.22
[멘토씨리즈 자바] 08 메서드 응용문제  (1) 2024.07.21
[멘토씨리즈 자바] 07 클래스 응용문제  (0) 2024.07.21
'책/멘토씨리즈 자바' 카테고리의 다른 글
  • [멘토씨리즈 자바] 12 추상클래스와 인터페이스 응용문제
  • [멘토씨리즈 자바] 11 다형성과 타입 변환 응용문제
  • [멘토씨리즈 자바] 09 생성자
  • [멘토씨리즈 자바] 08 메서드 응용문제
yn98
yn98
좌우명 : 여전할 것 인가, 역전할 것 인가? 백엔드 개발자가 되고싶은 역전하고 있는 개발자 꿈나무의 블로그입니다. 개발을 하면서 공부한 것들을 기록합니다. 24.06 ~
  • yn98
    개발 꿈나무
    yn98
  • 전체
    오늘
    어제
    • 분류 전체보기 (131)
      • Python (3)
      • 공부 (7)
      • DB (7)
      • JAVA (24)
      • JSP (9)
      • jQuery (2)
      • HTML (3)
      • Spring (20)
      • 웹 (4)
      • C (1)
      • Git (2)
      • 에러일기 (19)
      • 프로젝트 (6)
      • 책 (21)
        • 멘토씨리즈 자바 (14)
        • 2024 수제비 정보처리기사 (7)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • Notion
  • 공지사항

  • 인기 글

  • 태그

    DispatcherServlet
    @repository
    이벤트 스케줄러
    정보처리기사 실기
    ViewResolver
    recoverabledataaccessexception
    스프링 프레임워크
    오블완
    html
    생성자
    정처기
    오버로딩
    @Component
    어노테이션
    Di
    정보처리기사
    aop
    티스토리챌린지
    MVC
    수제비
    객체지향
    codeup 4891 : 행복
    2-layered 아키텍처
    jsp
    Spring
    @service
    상속
    java
    멘토씨리즈 자바
    정처기 실기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
yn98
[멘토씨리즈 자바] 10 상속 응용문제
상단으로

티스토리툴바