앞 강의에 이어, 이제 클래스란 무엇인지 알아보도록 하겠습니다.
유니티 스크립트를 사용하기 위해서는 클래스의 개념을 이해하는 것이 중요합니다. 클래스를 자유자재로 사용하는 것은 어려운 일이며, 숙달되기 위해서는 노력이 필요합니다. 하지만 클래스가 무엇인지에 대한 기본적인 개념을 이해하는 것 자체는 그리 어렵지 않습니다.
클래스는 일반적으로 객체 또는 오브젝트를 정의해 놓은 것입니다. 또 다른 설명으로는, 클래스는 객체를 만들기 위한 설계도 또는 원형이라고 할 수 있습니다.
이런 개념 설명만으로 초보자가 객체와 클래스의 관계를 이해하는 것은 쉽지 않을 수 있습니다. 따라서 클래스를 이해하기 위해서는 다른 방식으로 접근할 필요가 있습니다.
좀 더 쉬운 이해를 위해 고대 그리스 철학자 플라톤에게 도움을 청해 봅시다.
플라톤은, 세계를 이데아라고 하는 완벽한 세계와 현실이라고 하는 불완전한 세상으로 나누었습니다.
그는 이상적인 세계(이데아)에는 완벽한 형태의 사물들이 존재하고, 현실의 세계에는 그 완벽한 형태를 모방한 불완전하고 다양한 형태의 사물들이 존재한다고 설명했습니다. 예를 들어, 이상적인 세계에는 완벽한 ‘개’가 존재하지만, 현실에서는 이러한 완벽한 개념의 개가 아닌, 구체적이고 다양한 모습의, 불완전한 개들만을 찾아볼 수 있을 뿐입니다.
이러한 개념을 클래스와 객체에 적용해보면, 이상적인 세계의 완벽한 형태가 클래스(설계도)이고, 그 클래스로부터 생성된 구체적인 사물들이 객체(인스턴스)라고 할 수 있습니다. 즉, 클래스는 어떤 사물의 이상적인, 완벽한 원형을 정의하며, 객체는 그 클래스를 바탕으로 생성된 구체적인 사례입니다.
이번에는 아이폰을 예로 들어 클래스 개념을 이해해 봅시다. 아이폰의 설계도가 있다면 이것이 클래스에 해당되며, 그 설계도에 따라 만들어진 각각의 아이폰이 객체입니다.
이처럼 클래스는 이상적인 원형, 또는 원형에 대한 정의이고, 객체는 그 원형을 바탕으로 만들어진 구체적인 사물들을 가리킨다고 이해하시면 이해가 쉬울 것입니다. 만약 잘 이해가 안되시면 위에서 제시해 드린 이데아 세계의 ‘개’와 관련된 이미지를 떠 올려 보시기 바랍니다.