본문 바로가기

Java

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

728x90

인터페이스

인터페이스는 추상 클래스보다 추상화 정도가 높으며 추상 클래스와는 다르게 구현부가 있는 일반 메서드, 일반 멤버 변수를 가질 수 없다는 특징이 있습니다.

 

추상 클래스

class 앞에 'abstract' 키워드를 사용하여 정의하며, 하나 이상의 추상 메서드를 가지는 클래스를 말합니다. 추상 메서드를 선언하여 상속을 통해서 하위 클래스에서 구현하도록 강제하는 클래스입니다.

 

차이점

추상 클래스는 extends키워드를 사용하며 다중상속이 불가능하지만 인터페이스는 implements키워드를 사용하며 다중상속이 가능하다.

추상클래스는 일반 변수, 생성자, 일반 메서드, 추상 메서드를 모두 가질 수 있는 반면 인터페이스는 상수와 추상 메서드만 가질 수 있고, 생성자와 일반 변수는 가질 수 없습니다.

728x90