JAVA/연습문제
쉽게 배우는 자바 프로그래밍 2판 7장 연습문제 Part.2 (6번 ~ 11번)
세언이
2022. 10. 20. 15:01
반응형

# 개발 공부하는 초보자가 작성한 답안이니 정답이 아닐 수 있습니다!!!
6. 추상 클래스의 모든 메서드는 abstract로 선언해야 한다. (O, X)
🧤정답🧤
X - 추상 메서드, 일반 메서드, 생성자, 멤버변수와 같이 다양하게 구성될 수 있다.
7. 다음 인터페이스는 문법적으로 오류가 발생한다. (O, X)
📢주어진 값📢
interface RightOrWrong { }
🧤정답🧤
X - 추상 메서드, 일반 메서드, 생성자, 멤버변수와 같이 다양하게 구성될 수 있다.
8. 다음은 인터페이스와 구현 클래스를 정의한 코드다. 빈칸에 적절한 내용은?
📢주어진 값📢
interface Edible {
void isDelicious();
}
class Beverage _____________________ {
public void isDelicious() {
System.out.println("sure!");
}
}
🧤정답🧤
interface Edible {
void isDelicious();
}
class Beverage implements Edible {
public void isDelicious() {
System.out.println("sure!");
}
}
9. Printable는 인터페이스이다. 다음 코드에서 잘못된 행을 모두 찾아라.
📢주어진 값📢
interface Printable {
String toner;
abstract void print();
}
public class PrintableTest extends Printable {
public static void main(String[] args) {
new Printable();
new PrintableTest();
}
void print() { }
}
🧤정답🧤
interface Printable {
public static final String toner; // 인터페이스 멤버는 추상이나 public static final을 붙여줘야한다.
abstract void print();
}
public class PrintableTest implements Printable {
public static void main(String[] args) {
// new Printable(); // 인터페이스의 객체는 생성 불가능하다.
new PrintableTest();
}
public void print() { } // 클래스의 범위가 public이므로 아래도 동일한 범위를 작성해야한다.
}
10. 다음 클래스를 이용해 show() 메서드를 호출할 때 2행의 value 값을 출력하고자 한다. 8행의 밑줄에 들어갈 적절한 내용은?
📢주어진 값📢
public class WhatIsThis {
int value = 1;
class Really {
int value = 2;
void show() {
System.out.println(____________);
}
}
}
🧤정답🧤
public class WhatIsThis {
int value = 1;
class Really {
int value = 2;
void show() {
System.out.println(WhatIsThis.this.value);
}
}
}
이유 : 2행의 값은 외부클래스 value의 값이기 때문에 WhatISThis의 지역변수값을 호출해야한다.
참고✔
내부클래스 즉 6행의 값을 나타내는 value의 값은 호출하기 위해서는 System.out.println(value);
11. 다음 코드를 컴파일하면 어떤 파일을 생성하는지 파일 이름을 모두 나열하라.
📢주어진 값📢
public class InnerDemo {
class MemberClass {
}
interface MembetInterface {
}
public static void main(String[] args) {
class LocalClass {
}
}
static void foo() {
class LocalClass {
}
}
}
🧤정답🧤
동일한 이름의 멤버클래스 LocalClass 2개, 다른 이름의 멤버클래스 MemberClass 1개,중첩인터페이스 1개, 외부클래스 InnerDemo 1개
InnerDemo$1LocalClass.class
InnerDemo$2LocalClass.class
InnerDemo$MemberClass.class
InnerDemo$MembetInterface.class
InnerDemo.class
반응형