추상 클래스
- 추상 클래스는 클래스 내 추상 메소드가 하나 이상 포함되거나 abstract로 정의된 것을 말합니다.
인터페이스
- 인터페이스는 모든 메소드가 추상 메소드로만 이루어져 있는 것을 말합니다.
공통점
- new 연산자로 인스턴스 생성이 불가능합니다.
- 인터페이스 혹은 추상 클래스를 상속받아 구현한 구현체의 인스턴스를 사용해야 합니다.
- 인터페이스와 추상 클래스를 구현, 상속한 하위 클래스는 상위에서 선언한 추상 메소드를 반드시 구현해야 합니다.
차이점
- 인터페이스는 그 인터페이스를 구현하는 모든 클래스에 대해 특정한 메소드가 반드시 존재하도록 강제함에 있습니다.
- 추상 클래스는 상속받는 클래스들의 공통적인 로직을 추상화 시키고, 기능 확장을 위해 사용합니다.
- 추상 클래스는 다중상속이 불가능하지만, 인터페이스는 다중상속이 가능합니다.
반응형
'개발자 기술 면접 > JAVA' 카테고리의 다른 글
[JAVA] JAVA 주요 메모리 영역 (0) | 2023.12.29 |
---|---|
[JAVA] 제네릭(Generic)이란? (0) | 2023.12.25 |
[JAVA] Java와 C/C++의 차이점 (0) | 2023.12.25 |
[JAVA] Java SE와 Java EE 애플리케이션의 차이 (0) | 2023.12.25 |
[JAVA] Call by Reference와 Call by Value의 차이 (0) | 2023.12.25 |