Java
[이것이 자바다] 챕터07 연습문제
slown
2023. 3. 15. 22:59
1.자바의 상속에 대한 설명 중 틀린 것은 무엇입니까?
- 자바는 다중 상속을 허용한다.
- 부모의 메소드를 자식 클래스에서 재정의 할 수 있다.
- 부모의 private접근 제한을 갖는 필드와 메소드는 상속의 대상이 아니다.
- final클래스는 상속할 수 없고, final 메소드는 오버라이딩 할 수 없다.
답:1
2.클래스 타입 변환에 대한 설명 중 틀린 것은 무엇입니까?
- 자식 객체는 부모 타입으로 자동 타입 변환된다.
- 부모 객체는 항상 자식 타입으로 강제 타입 변환된다.
- 자동 타입 변환을 이용해서 필드와 매개 변수와 다형성을 구현한다.
- 강제 타입 변환 전에 instance of 연산자와 변환 가능한지 검사는 것이 좋다.
답:2
3.final 키워드에 대한 설명으로 틀린것은?
- final 클래스는 부모 클래스로 사용할 수 있다.
- final 필드는 값이 저장된 후에는 변경할 수 없다.
- final 메소드는 재정의 할 수 없다.
- static final 필드는 상수를 말한다.
답:1
4.오버라이딩에 대한 설명으로 틀린것은?
- 부모 메소드의 시그너처(리턴타입,메소드명,매개 변수)와 동일해야 한다.
- 부모 메소드보다 좁은 접근 제한자를 붙일 수 없다.
- @Override어노테이션을 사용하면 재정의가 확시한지 컴파일러가 검증한다.
- protected접근 제한을 갖는 메소드는 다른 패키지의 자식 클래스에서 재정의할 수 없다.
답:4
5.Parent클래스를 상속해서 Child클래스를 다음과 같이 작성했는데,Child클래스의 생성자에서 컴파일 에러가
발생했습니다. 그 이유를 설명해보세요.
컴파일 이유: 자식 클래스에서 부모 생성자를 호출하지 않아서이다.
6.Parent클래스를 상속해서 Child 클래스를 다음과 같이 작성했습니다. ChildExample클래스를 실행
했을 때 호출되는 각 클래스의 생성자의 순서를 생각하면서 출력 결과를 작성해보세요.
결과값: Parent(String nation) call
Parent() call
Child(String name)call
Child()call
7.Tire클래스를 상속 받아 SnowTire클래스를 다음과 같이 작성했습니다. SnowTireExample 클래스를 실행했을 때
출력결과는 무엇입니까?
출력결과
->스노우 타이어가 굴러갑니다. 가 두번 출력 된다.