인터페이스는 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위한 문법이다.
오직 추상메서드와 상수만을 멤버로 가질 수 있으며 그 외의 다른 어떠한 요소도 허용하지 않는다.
인터페이스는 자바에서만 사용한다.
인터페이스
interface 클래스명 {
데이터_타입 메서드명()
}
예제
interface A { // 인터페이스 A를 선언한다.
void fn(); // fn 이라는 메서드 선언을 정의한다.
}
class B implements A{ //인터페이스 A를 상속받은 클래스 B 선언한다.
public void fn(){ //비어있는 fn을 상속받아 구현한다.
System.out.println("B");
}
}
class C implements A{ //인터페이스 A를 상속받은 클래스 C를 선언한다.
public void fn(){ //비어있는 fn을 상속받아 구현한다.
System.out.println("C");
}
}
class MainTest{
pubilc static void main(Stirng arg[]){
A b = new B(); // A 객체 변수에 B 객체 생성
A c = new C(); // A 객체 변수에 C 객체 생성
b.fn(); // B 클래스의 fn 메서드 호출
c.fn(); // C 클래스의 fn 메서드 호출
}
}
출력 결과
B
C
'java' 카테고리의 다른 글
java_ 2_ 연산자 (0) | 2021.10.07 |
---|---|
java_ 2_ 조건문(예제) (0) | 2021.10.07 |
java_ 1_환경변수 (0) | 2021.10.06 |
[Java] 오버로딩과 오버라이딩 (0) | 2021.08.30 |
[Java] 01. 원시 데이터형과 클래스 데이터형의 차이 (0) | 2021.08.28 |