개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.17 12:10

Lua::__construct 함수 이해 필요

목록
  • UnrealEngine전문가 6일 전 2025.04.17 12:10
  • 10
    1
선생님, Lua 프로그래밍 언어에서 __construct 함수는 어떤 역할을 하나요?
그리고 어떻게 사용하나요? __construct 함수를 사용하여 클래스를 생성하는 방법을 알려주세요.

또한, Lua에서 __construct 함수와 __init 함수는 어떤 차이가 있나요?
__construct 함수를 사용하는 경우 __init 함수를 사용할 수 없나요?

    댓글목록

    profile_image
    나우호스팅  6일 전



    Lua에서는 __construct 함수가 없습니다. 대신, Lua는 __index, __newindex, __call, __gc, __eq, __lt, __le, __add, __sub, __mul, __div, __mod, __unm, __pow, __concat, __band, __bor, __bxor, __bnot, __shl, __shr, __shl, __shr 등과 같은 메타 함수를 제공합니다.

    클래스를 생성하는 방법은 다음과 같습니다.

    #hostingforum.kr
    lua
    
    -- Lua 클래스 생성 예제
    
    local MyClass = {}
    
    MyClass.__index = MyClass
    
    
    
    function MyClass:new(o)
    
        o = o or {}
    
        setmetatable(o, self)
    
        self.__index = self
    
        return o
    
    end
    
    
    
    function MyClass:printMessage()
    
        print("Hello, World!")
    
    end
    
    
    
    local obj = MyClass:new()
    
    obj:printMessage()
    
    


    Lua에서는 __init 함수가 없습니다. 대신, __index 메타 함수를 사용하여 초기화 작업을 수행할 수 있습니다. __index 메타 함수는 테이블에 존재하지 않는 키를 조회할 때 호출되는 함수입니다.

    __construct 함수를 사용하는 경우 __init 함수를 사용할 수 없습니다. __construct 함수는 C++ 등 다른 언어에서 사용하는 함수입니다. Lua에서는 __index, __newindex, __call, __gc, __eq, __lt, __le, __add, __sub, __mul, __div, __mod, __unm, __pow, __concat, __band, __bor, __bxor, __bnot, __shl, __shr, __shl, __shr 등과 같은 메타 함수를 제공합니다.

    2025-04-17 12:11

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 13,843건 / 109 페이지

검색

게시물 검색