반응형
대표적으로는
- 인터페이스는 implement를 이용한 다중 상속과 추상메서드만을 포함한다.
- 추상클래스는 extends를 이용한 단일 상속과 추상메서드 및 구현메소드를 모두 포함할 수 있다.
이렇게 두가지로 표현하겠지만, 그 외에도 추가적인 차이점들이 있으니,
인터페이스와 추상클래스의 차이점을 표로 알아보자.
특성 | 인터페이스 | 추상클래스 |
구현 가능 여부 | 오직 추상 메서드와 상수만을 포함 | 추상 메서드 및 구현된 메서드 모두를 포함 |
다중 상속 | 다중 상속을 지원 | 단일 상속만을 지원 |
변수 | 상수만을 선언할 수 있음 | 일반 변수와 상수 모두를 선언할 수 있음 |
접근 지정자 | 모든 멤버는 기본적으로 공개(public) | 접근 지정자를 사용하여 멤버의 접근 범위를 제어 |
메서드 | 오직 추상 메서드만을 선언 | 추상 메서드와 일반 메서드를 모두 선언할 수 있음 |
생성자 | 생성자를 가질 수 없음 | 생성자를 가질 수 있음 |
사용 | 다중 상속이 필요하거나 유연한 구조가 필요할 때 사용 | 공통된 기능을 가진 클래스들 간의 상속 관계를 정의할 때 사용 |
반응형
'programming language > Java' 카테고리의 다른 글
HTMLTagFilterRequestWrapper를 이용한 HTMLTagFilter 적용하기 (0) | 2024.07.19 |
---|---|
람다문이란? (0) | 2024.01.27 |
forEachRemaining() 메서드와 for문의 성능차이는? (1) | 2023.11.25 |
asiterator().foreachremaining() 이란? (1) | 2023.11.25 |
Scanner와 BufferedReader 사용법 및 차이점 (0) | 2023.11.09 |