Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 확인문제
- 냅색알고리즘
- 백준평범한배낭
- BOJ
- 코테
- 카카오코테
- 이것이자바다
- 윤곽선검출
- 컴퓨터비전
- 웹개발기초
- 스파르타코딩클럽
- 합성곱연산
- java
- 코드트리
- 백준
- 운영체제
- 가운데를말해요
- 백준스택
- 백준9012
- KT포트포워딩
- 코딩테스트실력진단
- 이것이자바다확인문제
- 백준10828
- BOJ1655
- 백준가운데를말해요
- 백준온라인저지
- 백준괄호
- 이것이자바다9장
- 2019카카오코테
- 딥러닝
Archives
- Today
- Total
코딩하는 락커
[이것이 자바다] ch07 확인문제 본문
1. 자바의 상속에 대한 설명 중 틀린 것은 무엇입니까?
- 자바는 다중 상속을 허용한다.
- 부모의 메소드를 자식 클래스에서 재정의(오버라이딩)할 수 있다.
- 부모의 private 접근 제한을 갖는 필드와 메소드는 상속의 대상이 아니다.
- final 클래스는 상속할 수 없고, final 메소드는 오버라이딩할 수 없다.
2. 클래스 타입 변환에 대한 설명 중 틀린 것은 무엇입니까?
- 자식 객체는 부모 타입으로 자동 타입 변환된다.
- 부모 객체는 항상 자식 타입으로 강제 타입 변환된다.
- 자동 타입 변환을 이용해서 필드와 매개 변수의 다형성을 구현한다.
- 강제 타입 변환 전에 instanceof 연산자로 변환 가능한지 검사하는 것이 좋다.
3. final 키워드에 대한 설명으로 틀린 것은?
- final 클래스는 부모 클래스로 사용할 수 있다.
- final 필드는 값이 저장된 후에는 변경할 수 없다.
- final 메소드는 재정의(오버라이딩)할 수 없다.
- static final 필드는 상수를 말한다.
4. 오버라이딩 (Overriding)에 대한 설명으로 틀린 것은?
- 부모 메소드의 시그너처 (리턴 타입, 메소드명, 매개 변수)와 동일해야 한다.
- 부모 메소드보다 좁은 접근 제한자를 붙일 수 없다.(예 public(부모)->private(자식))
- @Override 어노테이션을 사용하면 재정의가 확실한지 컴파일러가 검증한다.
- protected 접근 제한을 갖는 메소드는 다른 패키지의 자식 클래스에서 재정의할 수 없다.
5. Parent 클래스를 상속해서 Child 클래스를 다음과 같이 작성했는데, Child 클래스의 생성자에서 컴파일 에러가 발생했습니다. 그 이유를 설명해보세요.
답: 자식 클래스에서 부모 생성자를 호출하지 않았기 때문.
6. Parent 클래스를 상속해서 Child 클래스를 다음과 같이 작성했습니다. ChildExample 클래스를 실행했을 때 호출되는 각 클래스의 생성자의 순서를 생각하면서 출력 결과를 작성해보세요.
public class Parent {
public String nation;
public Parent(){
this("대한민국");
System.out.println("Parent() call");
}
public Parent(String nation){
this.nation = nation;
System.out.println("Parent(String nation) call");
}
}
public class Child extends Parent {
private String name;
public Child(){
this("홍길동");
System.out.println("Child() call");
}
public Child(String name){
this.name = name;
System.out.println("Child(String name) call");
}
}
public class ChildExample {
public static void main(String[] args) {
Child child = new Child();
}
}
답 :
Parent(String nation) call
Parent() call
Child(String name) call
Child() call
7. Tire 클래스를 상속 받아 SnowTire 클래스를 다음과 같이 작성했습니다. SnowTireExample 클래스를 실행했을 때 출력 결과는 무엇입니다.
public class Tire{
public void run(){
System.out.println("일반 타이어가 굴러갑니다.");
}
}
public class SnowTire extends Tire{
@Override
public void run(){
System.out.println("스노우 타이어가 굴러갑니다.");
}
}
public class SnowTireExample {
public static void main(String[] args) {
SnowTire snowTire = new SnowTire();
Tire tire = snowTire;
snowTire.run();
tire.run();
}
}
답:
스노우 타이어가 굴러갑니다.
스노우 타이어가 굴러갑니다.
8. A, B, C, D, E, F 클래스가 다음과 같이 상속 관계에 있을 때 다음 빈칸에 들어올 수 없는 코드는?
- new B()
- (B) new A() //강제 타입 변환 (자식 클래스 타입이 부모 클래스 타입으로 자동 변환되어 있을 경우에만 타입 변환 가능)
- new D() //자동 타입 변환
- new E() //자동 타입 변환
'☕️ Java' 카테고리의 다른 글
[이것이 자바다] ch10 확인문제 (0) | 2022.01.04 |
---|---|
[이것이 자바다] ch09 확인문제 (0) | 2022.01.03 |
[이것이 자바다] ch08 확인문제 (0) | 2021.12.23 |
[이것이 자바다] ch06 확인문제 (0) | 2021.12.19 |
Comments