Object type graphs are proposed as a new approach to the typing of object-languages. Internal dependencies among methods characterize the behavior of objects and differentiate them from records. The specification of these dependencies enrich the type representation of objects. First, we define a simple typed object-oriented language (TOOL) in which such a type representation is introduced by means of links. Then we proceed to describe the essential aspects of TOOL such as typing rules, equational theory, and basic properties of types and links. Next, we formally define the notion of object type graphs and investigate two major issues of object-oriented language typing: subtyping and inheritance. Subtyping based on object type graphs is defined and its results are compared to the subtyping in the language O-1 through a discussion of variance of subtyping (covariance, contravariance, and invariance). Inheritance mechanisms in the languages O-2 and O-3 are analyzed and problems are identified. Inheritance based on object type graphs is defined and its results are compared to that of O-2 and O-3 in the context of the problems found in O-2 and O-3. Finally, the relationship between inheritance and subtyping is investigated under our new typing scheme. We are able to reverse the previously established result in literature---inheritance does not imply subtyping. That is, we prove that inheritance does imply subtyping in our type system Object type graphs and graph-based typing mechanisms are the fiat research effort that captures abstractly the internal structure of objects in heir type representations, and then uses these features to explore typing issues and to define a new typing scheme