JAVA

이것이 자바다 7장 확인 문제 풀이 (상속)

Adev 2022. 9. 10. 16:56

1. 상속 - 부모 클래스의 멤버를 자식 클래스에게 물려준다.
답 : 1
자바는 다중 상속을 허용하지 않는다.



2. 클래스 타입 변환 - 자바는 부모 클래스의 타입 변환을 허용한다. 즉 부모 타입에 모든 자식 객체가 대입될 수 있다.
답 : 2
부모 객체는 자식 타입으로 강제 타입 변환을 사용할 수 있다. 
//모든 부모 타입을 자식 클래스 타입으로 강제 변환할 수 있는 것은 아니다. 자식 타입이 부모 타입으로 자동 변환한 후, 다시 자식 타입으로 변환할 때 사용할 수 있다. 



3. final 키워드 - 해당 선언이 최종 상태이고, 결코 수정될 수 없음을 뜻한다. 
답 : 1
final 클래스는 부모 클래스로 사용할 수 없다.
//final 키워드를 class 앞에 붙이게 되면 이 클래스는 최종적인 클래스이므로 상속할 수 없는 클래스가 된다.

 


4. 메소드 오버라이딩(Overriding) - 상속된 메소드의 내용이 자식 클래스에 맞지 않을 경우, 자식 클래스에서 동일한 메소드를 재정의하는 것을 말한다.
답 : 4
protected 접근 제한을 갖는 메소드는 다른 패키지의 자식 클래스에서 재정의할 수 있다.
//protected는 같은 패키지에서는 접근 제한이 없지만 다른 패키지에서는 자식 클래스만 접근을 허용한다.

 


5. 부모 메소드 호출하기
super.(name); 를 추가해야 한다.
//직접 자식 생성자를 선언하고 명시적으로 부모 생성자를 호출하려면 자식 생성자의 맨 첫 줄에 super(매개값, ···); 을 추가해야 한다. 자식 생성자가 명시적으로 선언되지 않았다면 부모 클래스의 기본 생성자 super();가 호출된다. 

package verify.exam05;

public class Child extends Parent {
private int studentNo;

public Child(String name, int studentNo) {
super(name);
this.name = name;
this.studentNo = studentNo;
}
}



6. 

답 :

Parent(String nation) call
Parent() call
Child(String name) call
Child() call

 


7. 

답 : 

스노우 타이어가 굴러갑니다.
스노우 타이어가 굴러갑니다.

//메소드가 오버라이딩되면 부모 객체의 메소드는 숨겨지기 때문에, 자식 객체에서 메소드를 호출하면 오버라이딩된 자식 메소드가 호출된다.

 


8. 강제 타입 변환(Casting) - 부모 타입을 자식 타입으로 변환하는 것을 말한다.

답 : 2

강제 타입 변환은 자식 타입이 부모 타입으로 자동 변환한 후, 다시 자식 타입으로 변환할 때에만 사용할 수 있다. 

A a = new B(); //부모타입으로 자동 변환
B b = (b) a; // 다시 자식 타입으로 강제 타입 변환