인터페이스

Kwangmo Yang·2022년 7월 29일
0

JAVA

목록 보기
3/6

추상클래스에 대해 이해를 하고 인터페이스에 대해 공부하는데
도대체 둘의 차이가 뭘까요

간단한 특징 (인터페이스)

  1. 추상메서드의 집합 (중요)
  2. 인터페이스의 조상은 인터페이스만 가능(Object가 최고 조상 아님)
  3. 메서드는 항상 public이고 abstract이다. 그래서 인터페이스 설계시 생략이 가능
  4. 다중 상속이 가능하다. 인터페이스 내의 추상메서드는 충돌해도 문제가 없기 때문

추상 클래스와 인터페이스의 공통점은?

추상 메서드(미완성 설계도)를 가지고 있다.

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

인터페이스는 인스턴스변수(iv)를 가질수가 없다.

//추상 클래스
abstract class player{

boolean pause; // 인스턴스변수
int age; // 인스턴스변수

Player() {	//생성자
	pause = false;
    age = 3;
}

abstract void play(int age); //추상메서드
}

추상클래스는 추상메서드를 가지고 있는것 이외에 일반 클래스와
블록안 내용이 크게 다른것이 없다.

//인터페이스
interface Fightable{
	void move(int x, int y); //추상메서드
    void attack(unit u); // 추상메서드
}

하지만 인터페이스는 인스턴스변수나 생성자는 넣을수가 없다.
구현된 것이 아무것도 없는 껍데기 같은 존재

profile
국비교육중 22.04.26~

0개의 댓글