언어/자바
인터페이스 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해서 사용 가능