티스토리 뷰
인터페이스(Interface)란?
서로 다른 하드웨어 장치들이 상호 데이터를 주고받을 수 있는 규격을 의미함.
소프트웨어를 규격화된 무듈로 만들ㅇ고, 서로 인터페이스가 맞는 모듈을 조립하듯이 응용프로그램을 작성할 수 있음.
자바의 인터페이스
클래스가 구현해야 할 메소드들이 선언되는 추상형
자바의 인터페이스는 interface 키워드를 사용하여 클래스를 선언하듯이 선언함.
인터페이스는 객체를 생성할 수 없음.
인터페이스 타입의 래퍼런스 변수는 선언 가능.
인터페이스끼리 상속 가능
인터페이스를 상속받아 클래스를 작성하면 인터페이스의 모든 추상 메소드를 구현하여야 함.
인터페이스 작성 예시
interface AAA {
/* interface 선언에 의하여 다중 상속을 위한 최적의 멤버필드를 가지게 됨.
인터페이스 클래스의 정의된 멤버필드는 모드 static final 형태로 선언됨.*/
public static int x = 100;
public static final int w = 0;
public final int y = 200;
public int z = 300;
// void ddd() {[여기가 내용부]} 내용부를 정의할 수 없음.
public static class Inner {
} // 이렇게 하면 내용부 정의할 수 있긴 함.
public abstract void aaa(); // 추상 메소드를 사용 할 수 있음.
public void bbb(); // abstract를 안해도 메소드 정의 가능
void ccc();
}
public class Exam02 {
public static void main(String[] ar) {
/* 모든 것이 static으로 선언되었기 때문에 사용 가능함. */
System.out.println("x=" + AAA.x);
System.out.println("w=" + AAA.w);
System.out.println("y=" + AAA.y);
System.out.println("z=" + AAA.z);
// AAA.w = 10; // 멤버 필드가 final 형태로 정의되어있기 때문에 변경이 불가능함.
// AAA.x = 1000;
// AAA.y = 40;
// AAA.z = 55;
}
}
인터페이스 상속 예시
interface E {
}
interface F extends E {
}
interface G {
}
interface H extends E, G /* 다중 상속 가능함 */ {
}
class I implements E, G {
}
//interface K implements I{} /* interface K는 I클래스를 상속받을 수 없음. */
public class Exam03 {
}
반응형
LIST
'공부합시다 > 찍먹' 카테고리의 다른 글
[명품자바 프로그램] 8장 실습문제 (0) | 2021.03.12 |
---|---|
[명품자바 프로그래밍] 3장 실습문제 (0) | 2021.03.12 |
[JAVA] 추상 메소드 & 추상 클래스 (0) | 2021.03.11 |
[JAVA] 가위바위보 게임 (0) | 2021.03.10 |
[JAVA] 조건식_다중 if-else문(3형식) (0) | 2021.03.10 |
댓글