IT/Typescipt
Typescript Classes, Interface
1am_wish
2022. 11. 6. 17:27
728x90
반응형
- Class
- 추상 클래스(abstract) 작성이 가능하다
- 추상 클래스는 표준화된 프로퍼티와 메소드 작성을 위해 필요
- private, public 말고도 protected라는 프로퍼티 접근 제어자 사용 가능
- private : 클래스 내에서만 사용 가능. 자식 클래스에서도 사용 불가.
- public : 클래스 내, 자식 클래스 내, 클래스 외 인스턴스에서 어디서든 사용 가능
- protected : 클래스 내, 자식클래스에서 사용 가능. 클래스 외 인스턴스에서 사용 불가
- 추상 메소드 작성이 가능하다
- 추상 메소드는 Call Signature만 작성 가능하고 구현은 상속받은 클래스에서 해야한다
- 상속받은 클래스에서 추상 메소드를 구현하지 않으면 에러 발생!
- 추상 메소드는 Call Signature만 작성 가능하고 구현은 상속받은 클래스에서 해야한다
- static 멤버를 허용한다
- 특정 인스턴스와 연결되지 않음. 고로 클래스를 선언하지 않아도 사용 가능
- 추상 클래스(abstract) 작성이 가능하다
- Interface
- 오브젝트의 모양을 특정할 수 있는 간단한 방법
- type과 다른 점
- 상속이 가능
- 동명의 interface를 선언해도 typescript가 하나로 합쳐줌
- 추상 클래스 대신 Interface를 implements하여 상속받을 수 있다.
- 장점 : 코드가 단순화되고 가벼워짐, 여러개의 interface를 동시에 상속받을 수 있다
- 단점 : private 과 protected는 불가하고 public 만 가능하다
class와 interface 모두 타입으로 사용 가능 !
728x90
반응형