잡다한 사전

(2023.12.20) 추상클래스와 인터페이스 본문

프로그래밍 언어/Javascript & firebase

(2023.12.20) 추상클래스와 인터페이스

잡사전집사 2023. 12. 21. 03:45
반응형

추상클래스란?

정의 

추상 클래스는 클래스와 다르게 인스터스화가 불가능한 클래스를 말합니다.

 

추상 클래스가 존재하는 이유

☑︎ 추상 클래스의 목적은 상속을 통해 자식 클래스에서 메서드를 제각각 구현하도록 강제를 하는 용도입니다.'

☑︎ 핵심 기능의 구현은 전부 자식 클래스에게 위임을 하는 것을 말합니다.

 

인터페이스란?

☑︎ 인터페이스는 TypeScript에서 객체의 타입을 정의하는데 사용을 합니다.

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

☑︎ 인터페이스를 사용하면 코드의 안정성을 높이고 유지 보수성을 높일 수 있습니다.

 

추상 클래스와 인터페이스의 차이

☑︎ 구현부 제공 여부

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

☑︎ 상속 메커니즘

  • 추상 클래스
    • 단일 상속만 지원을 합니다.
  • 인터페이스
    • 다중 상속을 지원합니다.
    • 하나의 클래스는 여러 인터페이스를 구현이 가능합니다.

 

☑︎ 구현 메커니즘 

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