[TIL] 인터페이스

김민재·2023년 12월 19일
0

TIL

목록 보기
92/172

인터페이스는 객체가 가져야 하는 속성과 메서드를 정의한다.

☑️ 구현부 제공 여부

  • 추상 클래스
    • 클래스의 기본 구현을 제공합니다.
  • 인터페이스
    • 객체의 구조만을 정의하고 기본 구현을 제공하지 않습니다.

☑️ 상속 메커니즘

  • 추상 클래스
    • 단일 상속만 지원합니다.
  • 인터페이스
    • 다중 상속을 지원합니다.
    • 즉, 하나의 클래스는 여러 인터페이스를 구현할 수 있어요!

☑️ 구현 메커니즘

  • 추상 클래스
    • 추상 클래스를 상속받은 자식 클래스는 반드시 추상 함수를 구현해야 합니다.
  • 인터페이스
    • 인터페이스를 구현하는 클래스는 인터페이스에 정의된 모든 메서드를 전부 구현해야 합니다.

☑️ 언제 쓰면 좋을까요?

  • 기본 구현을 제공하고 상속을 통해 확장하는데 초점을 맞추고 싶다면 → 추상 클래스
  • 객체가 완벽하게 특정 구조를 준수하도록 강제하고 싶다면 → 인터페이스
profile
개발 경험치 쌓는 곳

0개의 댓글

관련 채용 정보