언어/자바

인터페이스 vs 추상클래스

공부하고 기록하고 다시보는 블로그 2025. 6. 4. 12:02

추상클래스 : 복제

 

인터페이스 : 설계도, 구조, 틀

 

둘다 차이 :

- 인터페이스는 모두 추상클래스이다.

- 하위 클래스(자식클래스)에게 모두 위임한다.

- 추상 클래스에서는 일반 메서드와 추상 메서드 둘다 존재하지만, 인터페이스는 오로지 추상클래스만 존재한다.

- 구현과 추상을 분리한다.

- 인터페이스는 앞에 abstract 생략(implements : 구현하다.)

 

 

추상 클래스(인터페이스도 마찬가지이다.)

-> Add unimplemented methods

-> 현재 클래스에서 추상 클래스에 선언된 메서드들을 구현하겠다.

-> Make type 클래스명 abstract

-> 현재 클래스에서는 A만 구현하고 나머지 B, C는 자식에게 물려 주겠다.

 

추상 클래스의 목적은 재정의

즉, 부모 클래스에서 공통된 속성을 모아 두었지만, 각기 다르게 표현해야할 때 씀.

 

인터페이스(추상 클래스와 상수로 이루어짐)

 

* 설계와 구현

인터페이스(설계)

자식 클래스(구현)

 

상수 : (public static final) int ERROR = -999999;

static : 전역, 정적, 공유

데이터 영역

new 하지 않고도 접근이 가능하다.

 

여러개 공통된 속성을 extends에 부모 클래스에 모아두고

여러개 추상클래스들을 세분화하여 2개 이상의 인터페이스에서 implement해서 사용 가능