Programming Language/Java

[Java]추상 클래스와 인터페이스의 차이

CAP.HEK 2024. 3. 20. 22:18

기본 개념

추상 클래스 : 물려 받는 것(가문)

인터페이스 : 장착하는 것(장비)

 

다중 적용 

추상 클래스 : 불가(1개의 가문만 가능)

인터페이스 : 가능(여러 장비 착용 가능)

 

상속관계의 제한

추상 클래스 : 있음

인터페이스 : 없음

 

생성자 유무

추상 클래스 : 생성자 보유

인터페이스 : 없음

 

메소드 유무

추상 클래스 : 구상, 추상 메서드 모두 가능

인터페이스 : 추상메소드(abstract를 붙이지 않아도 가능), default 구상 메소드, 클래스 메소드

 

필드

추상 클래스 : 모두 가능

인터페이스 : 상수만 가능(final 명시를 하지 않아도 됨) 

 

적용 연산자

추상 클래스 : extends

인터페이스 : implements