Java

Java 인터페이스와 추상 클래스의 차이점

차가운개발 2024. 2. 28. 00:31

이번에는 인터페이스와 추상 클래스의 다른점을 알아보겠습니다

 

인터페이스와 추상 클래스의 다른점을 알아보기 전에 인터페이스와 추상클래스의 특징과 공통점을 서술한 뒤 차이점을 이야기 해보겠습니다

 

인터페이스의 특징

1. 모든 메서드는 추상 메서드여야 한다

2. 모든 필드는 상수여야 한다

3. 다중 상속을 지원한다

4. 서로 다른 클래스 간의 공통된 동작을 정의한다 구현체 간 호환성을 제공하고 클래스 간 결합도를 느슨하게 하는데 사용 된다

 

추상 클래스의 특징

1. 단일 상속만 가능하다

2. 중복되는 클래스 멤버의 통합 혹은 확장

3. 추상메서드뿐 아니라 일반 필드와 메서드, 생성자를 가질 수 있다

4. 클래스 간에 코드를 재사용하고 공통된 속성을 정의하는데 사용한다

 

인터페이스와 추상클래스의 공통점

1. 추상 메서드의 존재

2. 인스턴스로 사용할 수 없다 상속을 이용한 구현체의 인스턴스를 사용해야 한다

3. 추상 메서드를 상속받은 구현 클래스는 추상 메서드를 반드시 구현시켜야 한다

 

 

인터페이스와 추상 클래스의 차이

  인터페이스 추상 클래스
다중상속  가능 불가능
추상 메서드 선언하는 모든 메서드가 추상 메서드 하나이상의 추상메서드만 있으면 됨
접근제어자 public만 사용가능 제한없음
변수 final(상수)만 사용가능 제한없음
키워드 interface abstract
상속하는방법 implements extends