0. 문제
➡ 정답
(설명)
1. 인터페이스에 대한 설명으로 틀린 것은 무엇입니까?
➡ 인터페이스에는 인스턴스 필드를 가질 수 있다.
(설명)
인터페이스는 상수와 메소드만을 구성 멤버로 가진다.
인터페이스는 객체로 생성할 수 없기 때문에 생성자를 가질 수 없다.
*인스턴스 필드 : 객체 생성
2. 인터페이스의 다형성과 거리가 먼 것은?
➡ 구현 객체를 인터페이스 타입으로 변환하려면 강제 타입 변환을 해야한다.
(설명)
구현 객체는 인터페이스로 자동 타입 변환을 하므로 강제 타입 변환은 X!
3. 다음은 Soundable 인터페이스입니다. sound() 추상 메소드는 객체의 소리를 리턴합니다.
public interface Soundable {
String sound();
}
SoundableExample 클래스에서 printSound() 메소드는 Soundable 인터페이스 타입의 매개변수를 가지고 있습니다.
main() 메소드에서 printSound() 를 호출할 때 Cat과 Dog 객체를 주고 실행하면
각각 "야옹"과 "멍멍"이 출력되도록 Cat과 Dog 클래스를 작성해보세요.
public class SoundableExample {
private static void printSound(Soundable soundable) {
System.out.println(soundable.sound());
}
public static void main(String[] args) {
printSound(new Cat());
printSound(new Dog());
}
}
➡
public class Cat implements Soundable {
@Override
public String sound() {
return "야옹";
}
}
public class Dog implements Soundable {
@Override
public String sound() {
return "멍멍";
}
}
4번은 생략합니다.
5. 다음은 Action 인터페이스입니다. work() 추상 메소드는 객체의 작업을 시작시킵니다.
public interface Action {
void work();
}
ActionExample 클래스의 main() 메소드에서 Action의 익명 구형 객체를 만들어 다음과 같은 실행 결과가 나올 수 있도록 박스 안에 들어갈 코드를 작성해보세요.
public class ActionExample {
public static void main(String[] args) {
Action action = // 네 모
action.work();
}
}
➡
Action action = new Action() {
public void work() {
System.out.println("복사를 합니다.");
}
};
'🤯TIL > JAVA' 카테고리의 다른 글
[연산자] 삼항 연산자? (조건 ? T : F) (0) | 2023.01.19 |
---|---|
[연산자] 복합대입 연산자? (0) | 2023.01.19 |
[이것이 자바다 - 연습문제] chapter 07. 상속 (0) | 2022.11.08 |
[이것이 자바다 - 연습문제] chapter 06. 클래스 (0) | 2022.11.07 |
[이것이 자바다 - 연습문제] chapter 05. 참조 타입 (0) | 2022.10.13 |