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의 목적은 메소드가 구현됨을 보장하는것이다.
반응형
'프로그래밍 > 면접대비문제' 카테고리의 다른 글
스프링 부트 어플리케이션이 실행되면 어떤 일들이 일어나는가. (0) | 2024.11.30 |
---|---|
이터레이터(Iterator) (0) | 2021.01.11 |
WAS의 동작방식 (0) | 2021.01.11 |
JVM의 메모리 영역 (0) | 2021.01.11 |
DB정규화 (0) | 2021.01.11 |