1. 인터페이스 - 객체의 사용법을 정의한 타입으로 개발 코드와 객체가 서로 통신하는 접점 역할을 한다.
답 : 3
인터페이스는 인스턴스 필드 또는 정적 필드를 선언할 수 없다. 데이터를 저장할 수 없기 때문이다.
//클래스는 필드, 생성자, 메소드를 구성 멤버로 가지는데 비해, 인터페이스는 상수와 메소드만 구성 멤버로 가진다.
2. 인터페이스의 다형성 - 프로그램 소스 코드는 변함이 없는데, 구현 객체를 교체함으로써 프로그램의 실행 결과가 다양해진다.
답 : 4
구현 객체가 인터페이스 타입으로 변환되는 것은 자동 타입 변환에 해당한다.
//구현 객체가 인터페이스 타입으로 자동 변환하면 인터페이스에 선언된 메소드만 사용가능하다. 구현 클래스에 선언된 필드와 메소드를 사용해야 할 경우에는 강제 타입 변환을 해서 다시 구현 클래스 타입으로 변환한다.
3.
package verify.exam03;
public class Cat2 implements Soundable {
@Override
public String sound() {
return "야옹";
}
}
package verify.exam03;
public class Dog2 implements Soundable {
@Override
public String sound() {
return "멍멍";
}
}
4.
package verify.exam04;
public interface DataAccessObject2 {
public void select();
public void insert();
public void update();
public void delete();
}
package verify.exam04;
public class OracleDao2 implements DataAccessObject {
@Override
public void select() {
System.out.println("Oracle DB에서 검색");
}
@Override
public void insert() {
System.out.println("Oracle DB에 삽입");
}
@Override
public void update() {
System.out.println("Oracle DB를 수정");
}
@Override
public void delete() {
System.out.println("Oracle DB에서 삭제");
}
}
package verify.exam04;
public class MySqlDao2 implements DataAccessObject {
@Override
public void select() {
System.out.println("MySql DB에서 검색");
}
@Override
public void insert() {
System.out.println("MySql DB에 삽입");
}
@Override
public void update() {
System.out.println("MySql DB를 수정");
}
@Override
public void delete() {
System.out.println("MySql DB에서 삭제");
}
}
5. 익명 구현 객체 - 소스 파일을 만들지 않고 사용하는 구현 객체이다.
package verify.exam05;
public class ActionExample2 {
public static void main(String[] args) {
Action action = new Action() {
@Override
public void work() {
System.out.println("복사를 합니다.");
}
};
action.work();
}
}
'JAVA' 카테고리의 다른 글
이것이 자바다 10장 확인 문제 풀이 (예외처리) (0) | 2022.09.08 |
---|---|
이것이 자바다 11장 확인 문제 풀이 (기본 API 클래스) (0) | 2022.09.08 |
이것이 자바다 9장 확인 문제 풀이 (중첩 클래스와 중첩 인터페이스) (0) | 2022.09.05 |
쉽게 배우는 자바 (앱 만들기: 변수도입~ 반복문) (0) | 2022.08.27 |
쉽게 배우는 자바 (터미널에서 실행~상속) (0) | 2022.07.20 |