추상클래스와 인터페이스의 차이

쪼개발자·2024년 6월 21일

자바 정복

목록 보기
8/8

추상클래스와 인터페이스의 차이는?

공통점

  • 추상메서드를 가지고 있다. (미완성 설계도)
    차이점:
  • 추상클래스 - 일반적인 클래스의 특징을 다 가지고 있음(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(){ 생략... }
}

0개의 댓글