Lonely Snowman
 

추상클래스와 인터페이스

추상클래스

하나 이상의 추상 메서드를 포함하는 클래스

하위 클래스들의 공통점들을 모아 추상화하여 만든 클래스

 

 

인터페이스

모든 메서드가 추상 메서드로 이루어진 것

다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스

 

 

공통점

추상 클래스와 인터페이스의 공통점은 둘 다 추상 메서드를 가지고 있다는 것입니다.
new 키워드로 인스턴스화할 수 없고 상속받아 구현한 구현체의 인스턴스를 사용해야 합니다.

그리고 추상 메서드를 반드시 구현해야 합니다.

 

 

추상클래스와 인터페이스의 차이는 뭔가요?

추상클래스

단일 상속만 가능합니다.

추상 메서드 외에 일반적인 필드, 메서드, 생성자를 가질 수 있습니다.

클래스 간의 연관 관계를 구축하는 것, 클래스 멤버들을 통합 및 확장하는 용도입니다. (집을 복사, 복제하는 느낌)

 

인터페이스

다중 상속이 가능합니다.

내부 멤버가 없는 빈 인터페이스를 선언하여 마커 인터페이스로 이용하기도 합니다.

구현 객체가 같은 동작을 한다는 것을 보장하는, 강제하는 용도입니다. (집의 설계도, 계약서 느낌)

 

 

 

 

 

참고

https://youtu.be/yQ_WvWm3oKs?si=Pt4vI0VFXwRfJ8Bd

https://inpa.tistory.com/entry/JAVA-☕-인터페이스-vs-추상클래스-차이점-완벽-이해하기#인터페이스_정리

 

☕ 인터페이스 vs 추상클래스 용도 차이점 - 완벽 이해

인터페이스 vs 추상클래스 비교 이 글을 찾아보는 독자분들은 아마도 이미 인터페이스와 추상클래스 개념을 학습한 뒤에 이 둘에 대하여 차이의 모호함 때문에 방문 했겠지만, 그래도 다시한번

inpa.tistory.com