더북(TheBook)

여기에서는 간단하게, 모든 캐릭터가 체력, 공격력이라는 특성과 공격하기 기능이 있다고 가정하고 캐릭터 클래스(캐릭터의 형식)를 만들어 봅시다. 그리고 캐릭터의 특성과 기능을 바탕으로 검술사, 요정, 도적이라는 실제 캐릭터를 만든다고 합시다. 형식을 바탕으로 만들어진 모든 캐릭터는 체력, 공격력과 공격하기라는 공통 특성과 기능을 가집니다.

▲ 그림 14-1 클래스와 객체의 관계

게임에서 ‘캐릭터’가 클래스라면 검술사, 요정, 도적은 ‘캐릭터’ 클래스를 바탕으로 구현된 실체입니다. 이처럼 클래스를 바탕으로 만들어진 실체를 객체(object)라고 합니다.

정리하면 클래스는 형식이고, 객체는 형식을 바탕으로 만들어지는 실체를 뜻합니다. 형식이 없는데 실체를 만들 순 없습니다. 따라서 개별 값을 가진 실체(객체)를 만들기 전에 형식(클래스)을 먼저 정의해야 합니다.

TIP 객체를 인스턴스(instance)라고도 표현합니다. 인스턴스는 클래스와 객체의 관계를 중심으로 설명할 때 많이 씁니다. 어떤 클래스에 속한 객체를 표현할 때 인스턴스라고 하죠. 처음 배울 때 두 용어를 모두 사용하면 헷갈릴 수 있으니 여기서는 객체라는 표현으로 통일해서 사용하겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.