Programming/Java & Kotlin
Java - extends, implements, abstract class (간단한 특징과 차이점)
luvris2
2023. 2. 28. 17:36
반응형
extends VS implements
extends | implements | |
구현 방식 | 클래스간 상속관계 구현 | 클래스가 가져야할 기능을 정의한 인터페이스 구현 |
기능 사용 | 상속된 클래스의 모든 기능 + 추가적 필요 기능 |
인터페이스에서 정의한 모든 기능 |
기능 구현 | 추가적 필요로 하는 기능 구현 가능 | 인터페이스에서 정의한 모든 기능 반드시 구현 |
- 결론
- extends : 클래스 상속할 때
- implements : 인터페이스 가져올 때
abstract class VS implements
abstract class | implements | |
공통점 | 객체 생성 불가 다양성 구현 메서드는 정의만 해두고 하위 클래스에서 자세히 기능 구현 |
|
기능 구현 | 추상 클래스에서 정의한 추상 클래스의 모든 기능 |
인터페이스에서 정의한 모든 기능 |
특징 | 일반적으로 추상 메서드 포함 하위 클래스에서 구현하도록 강제 extends 키워드 사용 |
추상 메서드, 상수 필드, 디폴트 메서드 기능 제공 |
다른점 | 추상 메서드 외 다른 메서드는 구현하지 않아도 모든 기능 사용 가능 | 인터페이스에서 정의한 모든 기능 반드시 구현하여야만 모든 기능 사용 가능 |
- 결론
- 상속과 인터페이스의 다양성 구현 용도
- 둘 다 직접 구현해야 함
반응형