Programming/Java

Interface와 Abstract Class 차이

사랑우주인 2024. 12. 2. 10:46

인터페이스

  • 클래스 간 반드시 따라야 하는 행동 계약을 정의한다.
  • 여러 클래스가 공통된 동작을 제공하도록 강제한다.
  • 다중 상속을 지원한다.

추상 클래스

  • 상속을 통해 코드를 재사용하거나 공통된 기능을 제공하기 위한 기본 클래스의 역할
  • 상속 계층 구조에서 사용된다. 다중 상속이 필요하지 않은 경우 적합하다.

인터페이스는 다중 상속을 지원하고 모든 메서드가 추상 메서드이며, 구현을 강제합니다. 반면에 추상 클래스는 일부 구현을 가질 수 있고, 단일 상속만 지원합니다.