본문 바로가기

TypeScript

타입의 호환성 - 클래스

class FacebookUser {
      constructor (id: string, private password: string) {}
    }

    class TwitterUser {
      constructor (id: string, private password: string) {}
    }

    let twitterUser: TwitterUser;
    let facebookUser: FacebookUser;
    twitterUser = facebookUser;

`TwitterUser` 타입과 `FacebookUser`타입은 모두 `private password: string` 멤버를 갖는다. 비록 이름은 같지만 이 두 속성은 서로 다른 클래스에서 정의된 `private` 멤버다. 따라서 위와 같은 할당을 시도한다면 다음 타입 에러가 발생한다.

'TypeScript' 카테고리의 다른 글

타입의 호환성 - 열거형  (0) 2019.10.30
타입의 호환성 - 제네릭  (0) 2019.10.30
타입의 호환성 - 함수 타입  (0) 2019.10.30
타입의 호환성 - 객체 타입  (0) 2019.10.30
타입의 호환성 - 기본 타입  (0) 2019.10.30