본문 바로가기

개발학습

추상클래스란?? 인터페이스란??

 

 

추상 클래스와 인터페이스는 모두 해당 클래스에서 상속되는 클래스에 대한 계약을 정의하는 방법을 제공한다.

둘 다 추상화를 달성하고 객체 또는 계약에서 계약을 정의하기 위한 Java의 중요한 개념이다.

 

추상 클래스는 abstract 키워드로 선언된 클래스

인터페이스는 interface 키워드를 사용하여 선언

 

추상 클래스는 extends 키워드를 사용하여 확장

인터페이스는 implements 키워드를 사용하여 구현

 

(단일상속)클래스는 하나의 추상 클래스만 확장할 수 있다.

(다중상속)클래스는 여러 인터페이스를 구현할 수 있다.

 

각자 어떤 상황에 쓰이나?

- 공통 동작을 공유하는 관련 클래스 그룹이 있고 이에 대한 기본 구현을 제공하려는 경우 추상 클래스를 사용

- 동일한 규칙을 따라야 하지만 다르게 작동할 수 있는 관련 없는 클래스가 있는 경우 인터페이스를 사용