# Graph 그래프는 호출 가능한 인라인 클래스입니다. 그래프의 활용예시는 다음과 같습니다. * 어떤 클래스들이 딱 한 곳에서만 필요할 때 * 계속해서 한 메소드의 결과값이 다음 메소드의 입력값으로 들어갈 때 그래프는 `Graph` 어빌리티가 컴파일러에 의해 구현되어있는데, 여기에는 그래프에 사용된 `Call`들의 이터레이터를 반환하는 메소드 등 다양한 기능들이 준비되어 있습니다. 그래프는 비록 인라인 클래스이지만, 여느 클래스와 같이 하위 메소드들을 구현하고, 어빌리티를 추가할 수 있습니다. `Graph`를 구현한 다른 클래스를 상속할 수도 있습니다. 그래프에 사용되는 `Call`들에게도 어빌리티를 강제할 수 있습니다. 예를 들어 딥러닝 모델 그래프를 만든다면, 여기에 사용되는 `Call`들에 `TensorIO` 어빌리티를 강제할 수 있습니다. 만약 `TensorIO`에 바이너리로 변환하는 하위 메소드가 있을 때, 이를 이용하여 그래프 자체를 바이너리로 변환하는 하위 메소드를 작성할 수 있습니다. 만약 이를 미리 구현한 그래프 `TensorGraph`가 있다면, 단순히 이를 상속만 하면 됩니다.