Notice
Recent Posts
Recent Comments
Link
kenzi
인터페이스와 추상클래스 정리 본문
인터페이스
추상메서드의 집합
구현된 것이 전혀 없는 설계도
상수, 추상메서드로만 이루어져 있고 변수 가질 수 없음
추상클래스
추상메서드가 있는 클래스
미완성 설계도
생성자, 변수, 메서드 + 추상메서드
공통점
1. 추상메서드 (메서드의 선언부만 존재하고 구현부는 없는) 가 있다
차이점
1. 인터페이스는 변수를 가질 수 없고 추상 클래스는 변수를 가질 수 있다
2. 인터페이스의 조상은 인터페이스이고(인터페이스로부터만 상속가능) 추상 클래스의 조상은 Object이다
3. 추상메서드를 구현하는 방식이 다르다
- 인터페이스는 구현클래스에서 implement로 추상메서드를 구현하고
추상 클래스는 자손클래스에서 extend로 상속받아서 추상메서드를 구체화한다
4. 인터페이스는 다중상속이 가능하지만 추상클래스는 다중상속이 불가능하다
ex) interface Kenzi extends interface Ground, interface Tistory {~~}
//추상 클래스
abstract class Player {
boolean pause; // 인스턴스 변수 iv
int currentPos; // 인스턴스 변수 iv
Player() { // 생성자
pause = false;
currentPos = 0;
}
abstract void play(int pos); // 추상 메서드
abstract void stop(); // 추상 메서드
void play() { // 메서드
play(currentPos);
}
}
//인터페이스
interface Fightable(){
//추상 메서드만 존재
void move(int x, int y);
void attack(Unit u);
}
'자바' 카테고리의 다른 글
컬렉션 프레임워크 (0) | 2022.04.10 |
---|---|
for문 (0) | 2022.04.10 |
배열 (0) | 2022.04.07 |
자바 객체지향 정리 (0) | 2022.04.01 |
Comments