타입 코드(type code)라는 것은 오브젝트의 종류를 표현하는 값입니다. 어떤 프로그램이 서적, DVD, 소프트웨어를 다룬다고 가정합니다. 그리고 이 상품의 종류를 표현하기 위해 다음과 같이 서적 = 0, DVD = 1, 소프트웨어 = 2라고 int형 값을 할당한다고 하면,이 때, 1, 2, 3 이라는 값이 타입 코드가 됩니다. 그러나타입코드가 int와 같은 기본형이면 문제가 생깁니다. Item* book2 = new Item(1000, "Jobs", 3000);Item* software2 = new Item(Payment::TYPECODE_CREDIT, "Word", 3000);와 같은 코드도 문제 없이 돌아가는데요. 타입 코드의 범위 이외의 값인 1000도, item 타입이 아닌 payment 타..