여러가지 관점에서 볼 수 있다. 공감받진 못하더라도, OOP의 인터페이스가 타입 클래스를 이해하는데 좋은 출발점이라고 생각한다 (당연히 아무것도 모르는 것보단 나을 것이다). 사람들은 개념적으로 타입 클래스가 타입을 집합처럼 구분한다고 말한다. "특정 연산과, 언어 자체로 표현할 수 없는 기대들을 만족하는 타입들의 집합"처럼 말이다. 이 말은 타당하고, "이 타입이 요구 조건을 만족하면 이 타입을 이 클래스의 인스턴스로 만들라"는 아무 메소드 없는 타입 클래스로 표현할 수 있다. 이건 인터페이스에서는 거의 볼 수 없는 활용이다.
구체적인 차이점을 말하자면, OOP 인터페이스보다 타입 클래스가 더 강력한 여러가지가 있다: