설명 순서는 다음과 같습니다.

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

+ Recent posts