public
멤버를 비교할 때에는 객체 속성을 비교할 때와 마찬가지로 이름이 같은지, 타입이 호환 되는지만 따진다. 하지만 private
멤버와 protected
멤버는 조금 특별하게 처리된다. private
및 protected
속성은 이름이 같다고 해도 다른 클래스로부터 정의된 멤버라면 호환이 불가능하다. TwitterUser
타입과 FacebookUser
타입은 모두 private password: string
멤버를 갖는다. 비록 이름은 같지만 이 두 속성은 서로 다른 클래스에서 정의된 private
멤버다. 따라서 위와 같은 할당을 시도한다면 다음 타입 에러가 발생한다.