설명 순서는 다음과 같습니다.
1. Abstract class와 Interface의 공통점
2. 용도에 따른 차이점
3. 기능에 따른 차이점
4. 정리
1. Abstract class와 Interfae의 공통점
- 추상 메서드를 가질 수 있다
- 인스턴스화를 할 수 없다(new를 이용한 생성 불가)
- 추상 클래스 또는 인터페이스를 상속한 클래스는 추상 메서드를 반드시 구현해야 한다
2. 용도에 따른 차이점
- Abstract class는 자신의 기능을 하위 클래스에 확장시킬 때 사용
- Interface는 구현된 객체가 같은 동작을 한다는 것을 보장하기 위해 사용
3. 기능에 따른 차이점
- 변수 : Interface는 public static final로 정의된 상수만 가능, Abstract class는 모두 가능
- 메서드 : Interface는 추상 메서드만 가능(현재는 아님), Abstract class는 모두 가능
4. 정리
- 따라서, Abstract class는 일반 클래스처럼 일반 멤버 변수와 메서드를 가질 수 있으므로 중복된 멤버들을 통합시킬 때 사용될 수 있고 자신의 기능을 하위 클래스에 확장시킬 때 사용함. 반면 Interface는 구현된 객체가 같은 동작을 한다는 것을 보장하기 위해 사용됨.
Abstract class와 Interface의 차이에 대해 알아볼 수 있었습니다.
'Java' 카테고리의 다른 글
JAR, WAR, EAR (1) | 2023.09.18 |
---|---|
Garbage Collector (0) | 2023.09.15 |
JVM (0) | 2023.09.14 |
[Java의 정석] Static이란? (0) | 2023.04.07 |
[Java의 정석] JVM이란? (0) | 2023.04.01 |