추상 클래스와 인터페이스는 모두 해당 클래스에서 상속되는 클래스에 대한 계약을 정의하는 방법을 제공한다.
둘 다 추상화를 달성하고 객체 또는 계약에서 계약을 정의하기 위한 Java의 중요한 개념이다.
추상 클래스는 abstract 키워드로 선언된 클래스
인터페이스는 interface 키워드를 사용하여 선언
추상 클래스는 extends 키워드를 사용하여 확장
인터페이스는 implements 키워드를 사용하여 구현
(단일상속)클래스는 하나의 추상 클래스만 확장할 수 있다.
(다중상속)클래스는 여러 인터페이스를 구현할 수 있다.
각자 어떤 상황에 쓰이나?
- 공통 동작을 공유하는 관련 클래스 그룹이 있고 이에 대한 기본 구현을 제공하려는 경우 추상 클래스를 사용
- 동일한 규칙을 따라야 하지만 다르게 작동할 수 있는 관련 없는 클래스가 있는 경우 인터페이스를 사용
'개발학습' 카테고리의 다른 글
제이쿼리란?? (1) | 2024.02.05 |
---|---|
객체와 클래스????? (1) | 2024.02.02 |
쓰레드(Thread)란?? (0) | 2024.01.31 |
DB에서 인덱스를 사용하는 이유 (0) | 2024.01.30 |
스프링 MVC 프로젝트 ?? Mybatis를 적용한 웹 프로젝트 동작 구조 ?? (0) | 2024.01.29 |