일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ftz
- PHP
- 파이썬
- 정렬 알고리즘
- OSI
- 두근두근 자료구조
- LoB
- War Game
- 스택
- windosws wbcs
- SWiFT
- 미로 탐색 알고리즘
- c언어
- Stack
- 자료구조
- Java
- ftz level13
- windosw 문자열
- level13
- 암호수학
- 파일 시스템
- System
- 재귀
- HTML
- 백준
- 시간복잡도
- C
- pwnable.kr
- web
- 큐
Archives
- Today
- Total
나의 기록, 현진록
[Java] 이것이 자바다 7단원 확인문제 본문
반응형
1. 자바의 상속에 대한 설명 중 틀린 것은 무엇입니까?
자바는 다중 상속을 허용한다.- 부모의 메소드를 자식 클래스에서 재정의(오버라이딩)할 수 있다.
- 부모의 private 접근 제한을 갖는 필드와 메소드는 상속의 대상이 아니다.
- final 클래스는 상속할 수 없고, final 메소드는 오버라이딩할 수 없다.
2. 클래스 타입 변환에 대한 설명 중 틀린 것은 무엇입니까?
- 자식 객체는 부모 타입으로 자동 타입 변환된다.
부모 객체는 항상 자식 타입으로 강제 타입 변환된다.- 자동 타입 변환을 이용해서 필드와 매개 변수의 다형성을 구현한다.
- 강제 타입 변환 전에 instanceof 연산자로 변환 가능한지 검사하는 것이 좋다.
3. final 키워드에 대한 설명으로 틀린 것은?
final 클래스는 부모 클래스로 사용할 수 있다.- final 필드는 값이 저장된 후에는 변경할 수 없다.
- final 메소드는 재정의(오버라이딩)할 수 없다.
- static final 필드는 상수를 말한다.
4. 오버라이딩 (Overriding)에 대한 설명으로 틀린 것은?
- 부모 메소드의 시그너처 (리턴 타입, 메소드명, 매개 변수)와 동일해야 한다.
- 부모 메소드보다 좁은 접근 제한자를 붙일 수 없다.(예 public(부모)->private(자식))
- @Override 어노테이션을 사용하면 재정의가 확실한지 컴파일러가 검증한다.
protected 접근 제한을 갖는 메소드는 다른 패키지의 자식 클래스에서 재정의할 수 없다.
5. Parent 클래스를 상속해서 Child 클래스를 다음과 같이 작성했는데, Child 클래스의 생성자에서 컴파일 에러가 발생했습니다. 그 이유를 설명해보세요.
1 2 3 4 5 6 7 | public class Parent { public String name; public Parent(String name){ this.name=name; } } | cs |
1 2 3 4 5 6 7 8 | public class Child extends Parent { private int studentNo; public Child(String name, int studentNo){ this.name=name; this.studentNo=studentNo; } } | cs |
컴파일 에러 이유 : 자식 클래스에서 부모 생성자를 호출하지 않았기 때문이다.
6. Parent 클래스를 상속해서 Child 클래스를 다음과 같이 작성했습니다. ChildExample 클래스를 실행했을 때 호출되는 각 클래스의 생성자의 순서를 생각하면서 출력 결과를 작성해보세요.
1 2 3 4 5 6 7 8 9 10 11 | 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"); } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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"); } } | cs |
1 2 3 4 5 | public class ChildExamlple { public static void main(String[] args){ Child child=new Child(); } } | cs |
출력 결과 :
Parent(String nation) call
Parent() call
Child(String name) call
Child() call
7. Tire 클래스를 상속 받아 SnowTire 클래스를 다음과 같이 작성했습니다. SnowTireExample 클래스를 실행했을 때 출력 결과는 무엇입니다.
1 2 3 4 5 | public class Tire { public void run(){ System.out.println("일반 타이어가 굴러갑니다."); } } | cs |
1 2 3 4 5 6 | public class SnowTire extends Tire{ @Override public void run(){ System.out.println("스노우 타이어가 굴러갑니다."); } } | cs |
1 2 3 4 5 6 7 8 9 | public class SnowTireExample { public static void main(String[] args){ SnowTire snowTire = new SnowTire(); Tire tire=snowTire; snowTire.run(); tire.run(); } } | cs |
반응형
'Programming > ETC' 카테고리의 다른 글
생능출판사 두근두근 자료구조 2장 연습문제 (11) | 2018.04.09 |
---|---|
생능출판사 두근두근 자료구조 1장 연습문제 (3) | 2018.04.09 |
[Java] 이것이 자바다 6단원 확인문제 (4) | 2017.07.27 |
[Java] 이것이 자바다 5단원 확인문제 (0) | 2017.07.26 |
[Java] 이것이 자바다 4단원 확인문제 (1) | 2017.07.21 |