사전준비

ReplicatedStorage 에서 + 버튼을 클릭해서 ModuleScript 를 생성합니다.

이름을 TestModule 로 변경합니다.

 

 

클래스

local TestModule = {}
TestModule.__index = TestModule -- 메타테이블 설정


--public static
function TestModule.testPubulicStaticFunction()
	print( "TestModule.testPubulicStaticFunction" )
end


--private
local function testPrivateStaticFunction()
	print( "TestModule.testPrivateStaticFunction" )
end

--private
function TestModule.callTestPrivateStaticFunction()
	testPrivateStaticFunction()
end

function TestModule.new(name:String)
	local self = setmetatable({}, TestModule)
	
	--private value
	local privateValue = "testPrivateValue"
		
	--public value
	self.name = name
	
	--private function
	local function testPrivateFunction()
		print( "testPrivateFunction" )
	end
	
	--public function
	function self:testPublicFunction()
		print( "testModule:testPublicFunction()" )
	end
	
	function self:callTestPrivateFunction()
		testPrivateFunction()
	end
	
	return self
end



return TestModule

 

 

클래스 사용하기

local TestModule = require(ReplicatedStorage.Scripts.TestModule)

-- static functions
TestModule.testPubulicStaticFunction() -- TestModule.testPubulicStaticFunction
-- TestModule.testPrivateStaticFunction() -- Error
TestModule.callTestPrivateStaticFunction() -- TestModule.testPrivateStaticFunction

local testModule = TestModule.new("Hello! Test A")
testModule:testPublicFunction() -- testModule:testPublicFunction()
--testModule:testPrivateFunction() -- Error
testModule:callTestPrivateFunction()

 

 

 

 

+ Recent posts