728x90
반응형
추상클래스란?
추상클래스는 일반 클래스와 별 다를 것이 없음
단지, 추상 메서드를 선언하여 상속을 통해서 자손 클래스에서 완성하도록 유도하는 클래스
그래서 미완성 설계도라고도 표현함
상속을 위한 클래스이기 때문에 따로 객체를 생성할 수 없음
class 앞에 "abstract" 예약어를 사용하여 상속을 통해서 구현해야한다는 것을 알려주고 선언부만 작성하는 추상메서드를 선언할 수 있음
abstract class 클래스이름 {
...
public abstract void 메서드이름();
}
인터페이스란?
추상클래스가 미완성 설계도라면 인터페이스는 기본 설계도라고 할 수 있음
인터페이스도 추상클래스처럼 다른 클래스를 작성하는데 도움을 주는 목적으로 작성하고 클래스와 다르게 다중상속(구현)이 가능
interface 인터페이스이름 {
public static final 상수이름 = 값;
public abstract void 메서드이름();
}
추상 클래스와 인터페이스 차이점
추상 클래스와 인터페이스는 존재 목적이 다름
추상 클래스는 그 추상 클래스를 상속받아서 기능을 이용하고, 확장시키는 데 있음
반면 인터페이스는 함수의 껍데기만 있는데, 그 이유는 함수의 구현을 강제하여 구현 객체의 같은 동작을 보장할 수 있음
결론적으로 상속은 슈퍼클래스의 기능을 이용하거나 확장하기 위해 사용되고, 다중 상속의 모호성 때문에 하나만 상속 받을 수 있음
반면 인터페이스는 해당 인터페이스를 구현한 객체들에 대해 동일한 동작을 약속하기 위해 존재함
반응형
'면접 준비 > 기술 면접' 카테고리의 다른 글
servlet & jsp (0) | 2021.06.03 |
---|---|
다형성 (0) | 2021.06.02 |
프로세스 & 스레드 (0) | 2021.01.22 |
라이브러리 & 프레임워크 & API (0) | 2021.01.21 |
Cookie와 Session의 차이 (0) | 2020.12.09 |