본문 바로가기

자바

추상 클래스(abstract class)와 인터페이스(interface) 의 차이점

 

추상 클래스 

추상 클래스는 클래스 내에 추상 메소드가 하나 이상 포함되거나 클래스가 abstract로 정의된 경우를 말한다.

abstract class A {
	public void hi() {
    	System.out.println("hi");
    }
	abstract void hello();
}

 

인터페이스

인터페이스는 모든 메소드가 추상 메소드로만 이루어진 것을 말한다. 

interface B {
	public void helloWorld();
}

 

공통점

생성자를 이용한 인스턴스 생성이 불가

추상 메소드를 구현하도록 강제함

 

차이점

추상 클래스는 멤버 변수, 일반 메소드를 가질 수 있다. 

인터페이스는 추상 메소드만을 가질 수 있다.인터페이스는 다중 상속이 가능하지만 추상 클래스는 다중 상속이 불가능하다.

 

 

'자바' 카테고리의 다른 글

Wrapper Class  (0) 2022.12.09
원시 타입과 참조 타입  (0) 2022.12.09
오버라이딩(Overriding) 과 오버로딩(Overloading)의 차이  (0) 2022.11.29
가비지 컬렉션(Garbage Collection)이란?  (0) 2022.11.26
JVM이란?  (0) 2022.11.26