[Lua] 유사클래스의 구현
루아는 클래스 등의 기능을 직접 제공하진 않는다.
그래도 함수와 테이블을 어떻게 엮어서 클래스 비슷하게 만들순 있다.
전역에 일단 클래스이름에 해당하는 테이블을 만들고, 테이블에 생성자용 함수를 추가한다.
그리고 생성자용 함수 내에서 또 객체 테이블을 생성하고 메서드들을 객체 테이블에 정의-바인딩시킨다.
코드부터 보자.

아마 함수명에 :를 쓰고 self라는 녀석이 툭 튀어나온 것이 낯설 것이다.
일단 ':'도 '.'처럼 테이블에 함수를 바인딩하는건 똑같다. 차이라면 테이블을 self라는 인자로 자동으로 받아준다는 것이 있다.
메서드구현할땐 이렇게 쓰는 것이 좋다.
그리고 호출할때도 .나 :를 구현한 것에 맞춰서 써줘야한다.
정적메서드는 그냥 전역에다 Point.New처럼 구현하면 된다.
클래스라기에 어설픈 점은 많지만, 어떻게든 쓸수있는게 어딘가...
참조
https://ospace.tistory.com/m/246
https://hsg2510.tistory.com/m/173