프로그래밍/면접대비문제
Interface VS Abstract
Angloper
2021. 1. 11. 22:33
Interface VS Abstract
Abstract class(추상 클래스)
- 클래스 구현 내부에 추상 메서드가 하나 이상 포함되거나 abstract로 정의된 경우.
- Abstract class의 특징
- new 연산자를 사용하여 객체르 생성할 수 없다.
- 단일 상속만이 가능하다.
- Abstract 클래스는 동일한 부모를 가지는 클래스를 묶는 개념으로 상속을 통하여 기능을 확장시키는것이 목적이다.
- new 연산자를 사용하여 객체르 생성할 수 없다.
Interface
- 모든 메소드가 추상 메소드이다.
- Java 8 이후에서는 default 키워드를 이용하면 메소드를 구현할 수 도 있다.
- static final필드만 가질 수 있다.
- new 연산자를 사용하여 객체를 생성할 수 없다.
- 다중상속이 가능하다.
- 구현 객체가 같은 동작을 한다는것을 보장하려는 목적으로 사용된다.
Abstract class와 Interface의 공통점
- 선먼만 있고 구현 내용은 없는 클래스이다.
- 인스턴스화가 불가능하다.
- 상속 / 구현한 클래스를 이용해서 객체를 생성해야한다.
Abstract class와 Interface의 차이점
- Abstract class - 단일상송 / Interface - 다중 상속
- Abstract 의 목적은 상속을 이용하여 기능을 확장시키는 것이다.
- Interface의 목적은 메소드가 구현됨을 보장하는것이다.
반응형