티스토리 뷰

반응형

※대학생이 공부하다가 작성한 글입니다※

※정답이 아닐 수도 있습니다※


 

⊙ 문제 1

 

인터페이스를 설명한 것이다. 틀린 것은?

 

  1. 인터페이스는 인스턴스 변수를 포함할 수 없다.
  2. 인터페이스는 생성자를 포함할 수 없다.
  3. 인터페이스는 상수를 포함할 수 없다.
  4. 인터페이스의 모든 멤버는 public으로 공개된다.

⊙ 정답

 

3번 인터페이스는 상수를 포함할 수 없다.

 

※해설: 인터페이스는 상수를 포함한다.


⊙ 문제 2

 

다음 중 올바른 코드는?

 

1번

class Klass {
    void foo();
}

2번

abstract class Klass {
    abstract void foo();
}

3번

class Klass {
    abstract void foo();
}

4번

abstract class Klass {
    abstract void foo() {};
}

⊙ 정답

 

2번

 

※해설: 추상 메서드는 본체가 없다.


⊙ 문제 3

 

Radio, Speaker, Earphone 클래스와 Playable와 Portable 인터페이스가 있다. 다음 중 잘못된 것은?

 

  1. public class Radio extends Speaker implements Playable
  2. public class Radio extends Speaker implements Playable, Portable
  3. public class Radio extends Speaker implements Playable, Portable
  4. public class Radio extends Speaker, Earphone

⊙ 정답

 

4번 public class Radio extends Speaker, Earphone

 

※해설 : 자바는 다중 상속을 지원하지 않는다.


⊙ 문제 4

 

추상 메서드는 자식 클래스에서 구현해야 하므로 public 또는 protected로 지정해야 한다.(O, X)

 


⊙ 정답

 

O


⊙ 문제 5

 

추상 클래스의 모든 메서드는 abstract로 선언해야 한다. (O, X)


⊙ 정답

 

X

 

※해설 : 추상 클래스는 추상 메서드, 일반 메서드, 멤버변수, 생성자로 구성될 수 있다.


⊙ 문제 6

 

다음 인터페이스는 문법적으로 오류가 발생한다. (O, X)


⊙ 정답

 

X


⊙ 문제 7

 

다음은 인터페이스와 구현 클래스를 정의한 코드이다. 빈칸에 적절한 내용은?

 

interface Edible{
    void isDelicious();
}

class Beverage __________ {
    public void isDelicious() {
        System.out.println("sure");
    }
}

⊙ 정답

 

 implements Edible

 

※해설: 인터페이스의 상속은 implements이다.

 


⊙ 문제 8

 

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() {}
}

 


⊙ 정답

 

2행, 8행, 10행, 12행

 

※해설 

2행 : 초기화가 반드시 필요하다.

8행 : 인터페이스의 상속은 implements이다.

10행 : Printable은 추상 클래스이다. 인스턴스화가 불가능하다.

12행 : Printable과 PrintableTest가 print() 함수에 대해 충돌한다. public을 추가해 오버라이딩을 하여 문제를 해결하자.

 


⊙ 문제 9

 

다음 코드의 Udong 클래스에서 잘못된 곳을 모두 찾으시오.

 

abstract class Food {
    abstract void isExpensive();
}

public class Udong extends Food {
    void isExpensive() {
        
    }
    void isDelicious() {
        
    }
    public static void main(String[] args) {
      Food f;
      Udong u;
      
      f = new Food();
      u = new Udong();
      
      u.isDelicious();
      u.isExpensive();
      
      f = u;
      f.isExpensive();
      f.isDelicious();
    }
}

⊙ 정답

 

16행, 24행

 

※해설

16행: Food는 추상 클래스이다. 인스턴스화가 불가능하다.

24행: Food에 isDelicious() 함수가 존재하지 않는다.

 

 

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함