다음의 두 예제를 보면서 구조를 살펴보도록 하겠습니다. 먼저 첫번째 예제는 C언어로 만들어본 클래스이고, 두번째 예제는 루아로 다시 구현해본 예제입니다.
- C언어
 
 class MyClass
 {
 private:
 string m_strName;
 int m_nAge;
 
 public:
 void SetName( string& strName);
 string& GetName();
 
 void SetAge( int nAge);
 int GetAge();
 };
 
 
 void MyClass::SetName( string& strName)
 {
 m_strName = strName;
 }
 
 string& MyClass::GetName()
 {
 return m_strName;
 }
 
 void MyClass::SetAge( int nAge)
 {
 m_nAge = nAge;
 }
 
 int MyClass::GetAge()
 {
 return m_nAge;
 }
 
- 루아
 
 MyClass = {};
 
 MyClass.m_strName = "";
 MyClass.m_nAge = 0;
 
 function MyClass:SetName( strName)
 MyClass.m_strName = strName;
 end
 
 function MyClass:GetName()
 return MyClass.m_strName;
 end
 
 function MyClass:SetAge( nAge)
 MyClass.m_nAge = nAge;
 end
 
 function MyClass:GetAge()
 return MyClass.m_nAge;
 end
 
위처럼 테이블로써 메소드와 변수를 묶으면 객체를 생성하고 관리하기 편하며, 생성한 테이블에 단순히 nil을 입력해주는 것만으로 그 객체를 삭제할 수 있다는 점에서 매우 중요합니다.
댓글 1개:
만든 클래스의 사용은 어떻게 하나요?
댓글 쓰기