Menu
Coddy logo textTech

프로젝트 설정

Coddy Lua 여정의 객체 지향 프로그래밍 (Object Oriented Programming) 섹션에 포함된 레슨. 70개 중 19번째.

challenge icon

챌린지

쉬움

Digital Bank 프로젝트를 시작합니다. 다음 레슨들에서 입금을 받을 수 있고, 출금을 처리하며, 자신을 출력하고 다른 계정으로 돈을 이체할 수 있는 Account class를 만들게 됩니다. 모든 것은 깔끔한 file 구조와 constructor에서 시작합니다.

여러분의 two files:

  • Account.lua: Account table을 define하고, instances가 해당 methods를 찾을 수 있도록 Account.__index = Account를 설정한 다음 :new() constructor를 write합니다. 이 constructor는 empty table을 만들고, metatable을 Account로 설정하며, balance0으로 지정하고 반환합니다. file은 return Account로 끝납니다.
  • main.lua: require('Account')로 module을 require하고, Account:new()로 two accounts를 만들며, 각 account의 balance를 각각 한 줄에 print한 다음 savings == checking을 print하여 two calls가 two different tables를 만들었다는 것을 보여 줍니다.

예상 출력:

0
0
false

모든 account는 0에서 시작합니다. 다음 레슨에서는 balance를 증가시키는 :deposit(amount) method를 추가합니다.

직접 해보기

-- TODO: Account 모듈을 require하세요 (파일은 Account.lua입니다)
local Account = nil

-- TODO: Account:new()로 두 개의 계정을 생성하세요

-- TODO: 각 계정의 잔액을 출력하세요 (한 줄에 하나씩)

-- TODO: 두 계정이 같은 테이블인지 출력하세요 (같아서는 안 됩니다)

객체 지향 프로그래밍 (Object Oriented Programming)의 모든 레슨

직접 연습해 보세요: 온라인 Lua 컴파일러