자바
추상 클래스(abstract class)와 인터페이스(interface) 의 차이점
dev_dean
2022. 11. 30. 10:53
추상 클래스
추상 클래스는 클래스 내에 추상 메소드가 하나 이상 포함되거나 클래스가 abstract로 정의된 경우를 말한다.
abstract class A {
public void hi() {
System.out.println("hi");
}
abstract void hello();
}
인터페이스
인터페이스는 모든 메소드가 추상 메소드로만 이루어진 것을 말한다.
interface B {
public void helloWorld();
}
공통점
생성자를 이용한 인스턴스 생성이 불가
추상 메소드를 구현하도록 강제함
차이점
추상 클래스는 멤버 변수, 일반 메소드를 가질 수 있다.
인터페이스는 추상 메소드만을 가질 수 있다.인터페이스는 다중 상속이 가능하지만 추상 클래스는 다중 상속이 불가능하다.