반응형

* Abstract Class와 Interface의 공통점

추상클래스와 인터페이스는 선언만 있고 구현 내용이 없는 클래스다.

인터페이스와 추상클래스를 가지고 새로운 인스턴스(객체)를 생성할 수 없기 때문에 상속을 통해 자식 클래스에서만 객체를 생성할 수 있다.


* Abstract Class(추상 클래스)

extends 키워드를 통해 추상 클래스를 상속받는다.

추상클래스는 추상메서드(abstract method)가 하나라도 존재하는 클래스를 말한다. 

일부는 구현된 메소드도 있을 수 있고, 일부는 abstract method로 구현이 되어있지 않은 메소드도 있을 수 있다. 

즉, 구현된 메소드가 있을 수 있기 때문에 만들어야할 여러 클래스들의 공통점을 찾아 추상화시켜서 사용한다.


* Interface

implements 키워드를 통해 인터페이스를 상속받는다.

인터페이스는 쉽게 말하면 껍데기라고 말할 수 있고, 설계도 또는 명세라고 생각하면 된다.

모든 메소드가 추상 메소드이기 때문에 인터페이스를 상속받는 자식 클래스는 인터페이스의 모든 메소드를 필수적으로 구현해야 한다.


반응형