본문 바로가기
개발자 기술 면접/JAVA

[JAVA] 추상 클래스와 인터페이스 설명 및 차이

by se-black 2023. 12. 25.
추상 클래스

- 추상 클래스는 클래스 내 추상 메소드가 하나 이상 포함되거나 abstract로 정의된 것을 말합니다.

 

인터페이스

- 인터페이스는 모든 메소드가 추상 메소드로만 이루어져 있는 것을 말합니다.

 

공통점

- new 연산자로 인스턴스 생성이 불가능합니다.
- 인터페이스 혹은 추상 클래스를 상속받아 구현한 구현체의 인스턴스를 사용해야 합니다.
- 인터페이스와 추상 클래스를 구현, 상속한 하위 클래스는 상위에서 선언한 추상 메소드를 반드시 구현해야 합니다.

 

차이점

인터페이스는 그 인터페이스를 구현하는 모든 클래스에 대해 특정한 메소드가 반드시 존재하도록 강제함에 있습니다.
추상 클래스는 상속받는 클래스들의 공통적인 로직을 추상화 시키고, 기능 확장을 위해 사용합니다.
추상 클래스는 다중상속이 불가능하지만, 인터페이스는 다중상속이 가능합니다.

728x90