Java

인터페이스 vs 추상클래스

코딩스토리 2023. 10. 31. 17:09

인터페이스 vs 추상클래스 사용처


인터페이스나 추상클래스나 둘이 똑같이 추상 메소드를 통해 상속/구현을 통한 메소드 강제 구현 규칙을 가지는 추상화 클래스이다.


추상클래스를 사용하는 경우


  • 상속 받을 클래스들이 공통으로 가지는 메소드와 필드가 많아 중복 멤버 통합을 할 때
  • 공통된 기능 구현이 필요하거나, 공통으로 지켜야 할 규칙도 있을때 상속을 통해 구조화 하여 재정의(overriding)을 통해 구현한다.
  • 추상클래스는 '클래스로서' 클래스와 의미있는 연관 관계를 구축할때 사용된다

 

 

인터페이스를 사용하는 경우


  • 인터페이스의 가장 큰 특징은 상속에 구애 받지 않은 상속(구현) 가 가능하다는 것이다.
  • 따라서 상속에 얽매히지 않는 인터페이스에 추상 메소드를 선언하고 이를 구현(implements) 하면서 자유로운 타입 묶음을 통해 추상화를 이루게 하는 것