Java
인터페이스 vs 추상클래스
코딩스토리
2023. 10. 31. 17:09
인터페이스 vs 추상클래스 사용처
인터페이스나 추상클래스나 둘이 똑같이 추상 메소드를 통해 상속/구현을 통한 메소드 강제 구현 규칙을 가지는 추상화 클래스이다.
추상클래스를 사용하는 경우
- 상속 받을 클래스들이 공통으로 가지는 메소드와 필드가 많아 중복 멤버 통합을 할 때
- 공통된 기능 구현이 필요하거나, 공통으로 지켜야 할 규칙도 있을때 상속을 통해 구조화 하여 재정의(overriding)을 통해 구현한다.
- 추상클래스는 '클래스로서' 클래스와 의미있는 연관 관계를 구축할때 사용된다
인터페이스를 사용하는 경우
- 인터페이스의 가장 큰 특징은 상속에 구애 받지 않은 상속(구현) 가 가능하다는 것이다.
- 따라서 상속에 얽매히지 않는 인터페이스에 추상 메소드를 선언하고 이를 구현(implements) 하면서 자유로운 타입 묶음을 통해 추상화를 이루게 하는 것