Java
Java 인터페이스와 추상 클래스의 차이점
차가운개발
2024. 2. 28. 00:31
이번에는 인터페이스와 추상 클래스의 다른점을 알아보겠습니다
인터페이스와 추상 클래스의 다른점을 알아보기 전에 인터페이스와 추상클래스의 특징과 공통점을 서술한 뒤 차이점을 이야기 해보겠습니다
인터페이스의 특징
1. 모든 메서드는 추상 메서드여야 한다
2. 모든 필드는 상수여야 한다
3. 다중 상속을 지원한다
4. 서로 다른 클래스 간의 공통된 동작을 정의한다 구현체 간 호환성을 제공하고 클래스 간 결합도를 느슨하게 하는데 사용 된다
추상 클래스의 특징
1. 단일 상속만 가능하다
2. 중복되는 클래스 멤버의 통합 혹은 확장
3. 추상메서드뿐 아니라 일반 필드와 메서드, 생성자를 가질 수 있다
4. 클래스 간에 코드를 재사용하고 공통된 속성을 정의하는데 사용한다
인터페이스와 추상클래스의 공통점
1. 추상 메서드의 존재
2. 인스턴스로 사용할 수 없다 상속을 이용한 구현체의 인스턴스를 사용해야 한다
3. 추상 메서드를 상속받은 구현 클래스는 추상 메서드를 반드시 구현시켜야 한다
인터페이스와 추상 클래스의 차이
인터페이스 | 추상 클래스 | |
다중상속 | 가능 | 불가능 |
추상 메서드 | 선언하는 모든 메서드가 추상 메서드 | 하나이상의 추상메서드만 있으면 됨 |
접근제어자 | public만 사용가능 | 제한없음 |
변수 | final(상수)만 사용가능 | 제한없음 |
키워드 | interface | abstract |
상속하는방법 | implements | extends |