<aside> 💡 과정 목표
인터페이스에 대해 이해하고, 객체지향적으로 인터페이스가 어떤 역할을 수행하는지에 대해 알아봅니다.
추상 클래스와 인터페이스의 차이점에 대해 이해합니다.
인터페이스를 우선해서 사용해야 하는 이유에 대해 알아보고, 골격 구현에 대해 알아봅니다.
</aside>
package-private
가 아닌, public
으로 지정됩니다.Manager
를 생각해 봅시다. Manager
는 배우가 어떻게 춤추고, 어떻게 노래하는지를 알 필요가 있을까요?
Manager
는 배우들이 어떻게 춤추고 노래하는지는 알지 않아도 전혀 상관이 없습니다. Manager
는 배우들이 춤추고 노래할 수 있다면 아무래도 상관 없습니다.Manager
(Client)는 각각의 구체 클래스 대신 인터페이스를 사용하고, 인터페이스에 정의된 API를 통해 상호작용 함으로서 각 구체 클래스의 내부 구현을 전혀 알 필요가 없어집니다.