[ 인터페이스 ]
- 추상 메서드만을 가진 순수한 추상 클래스이다.
- static final 데이터 멤버(상수)를 가질 수 있다.
- interface , implements 키워드를 사용
public interface Payable {
public double calcSalary();
public boolean salaried();
public static final double DEDUCTIONS = 25.5;
}
// 반드시 인터페이스의 메소드를 오버라이딩 해야한다.
public class test implements Payable{
@Override
public double calcSalary() {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean salaried() {
// TODO Auto-generated method stub
return false;
}
}
[ Interface VS Abstract Class ]
Q. 추상 메서드로만 구성된 추상 클래스는 인터페이스와 완전히 동일한가?
A. 완벽하게 같지는 않다. 둘 사이에서는 아주 중요한 차이점이 있다. 바로 다중 상속(multiple inheritance) 이다. 자바에서는 다중 상속을 허용하지 않는다. 하지만 하나의 클래스가 여러 개의 인터페이스를 implement 하는 것은 가능하다. 그렇지만 상속은 불가능 하다.
'자바프로그래밍' 카테고리의 다른 글
static , 접근제어 (0) | 2020.02.17 |
---|---|
제네릭 프로그래밍 (0) | 2020.02.12 |
class Object (0) | 2020.02.05 |
5. 자바 예외처리 (0) | 2019.10.30 |
4. 자바 성적처리(클래스) (0) | 2019.10.30 |