공통점
- 추상메서드를 가지고 있다. (미완성 설계도)
차이점:- 추상클래스 - 일반적인 클래스의 특징을 다 가지고 있음(instance variable, instance method, constructor) + abstract methods
- 인터페이스 - 추상메서드만 가능(생성자, iv, im 불가능)
추상메서드를 가지고 있는 클래스
abstract class Player {
abstract void play(int pos);
abstract void stop();
}
class AudioPlayer extends Player {
void play(int pos) { 생략... }
void stop() { 생략... }
}
추상메서드와 상수를 가지고 있는 것. 모든 메서드가 public
interface Fightable {
void move(int x, int y);
void attack()
}
class Fighter implements Fightable {
public void move(int x, int y){ 생략... }
public void attack(){ 생략... }
}