728x90
[JAVA] 추상클래스 VS 인터페이스 왜 사용할까? 차이점, 예제로 확인 :: 마이자몽 (tistory.com)
정의 | 다중상속 / 사용 용도 | 사용 시기 | |
추상클래스 (미완성 설계도) | - 상속을 통해서 자손클래스에서 완성하도록 유도하는 클래스 - class 앞에 abstract 예약어를 사용하여 상속을 통해 구현해야한다는 것을 알려주고 선언부만 작성하는 추상클래스 선언 가능 |
다중상속 불가 Is A (~이다) |
상속 관계를 쭉 타고 올라갔을때 같은 조상클래스를 상속하는데 기능까지 완벽히 똑같은 기능이 필요한 경우 |
인터페이스 (기본 설계도) | 추상클래스처럼 다른 클래스 작성하는데 도움을 주는 목적으로 작성 | 다중상속 가능 Has A(~을 할 수 있다) |
상속 관계를 쭉 타고 올라갔을때 다른 조상클래스를 상속하는데 같은 기능이 필요할 경우 |
가장 큰 차이점: 사용 용도
추상클래스 : 복제품, 틀
인터페이스 : 중복되는 기능
interface에서 다중상속 받는 예제
728x90
'CS > ETC' 카테고리의 다른 글
순수 가상함수, 일반 가상함수 (0) | 2023.12.19 |
---|---|
FSM(Finite-state machine) (0) | 2023.12.19 |
OOP(Object-oriented programming) (0) | 2023.12.19 |
Call by Value Vs Call by Reference (0) | 2023.10.01 |
C++과 C#의 차이 (+ 속도차이) (0) | 2023.09.27 |