Menu
Coddy logo textTech

입금 메서드

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

challenge icon

챌린지

쉬움

이제 Digital Bank 프로젝트를 시작합니다. 새로운 시스템에 기능을 추가할 시간입니다! 이제 시작 잔액이 0인 계정을 만들 수 있으므로, deposit을 통해 돈을 받을 수 있는 기능을 추가해 봅시다.

기존 Account class를 기반으로, 지정된 금액만큼 계정의 잔액을 늘리는 :deposit(amount) method를 추가합니다. 이는 기본적인 banking operation입니다. 돈이 들어오고 잔액이 증가합니다!

두 개의 파일이 있습니다:

  • Account.lua: :deposit(amount) method를 추가하여 Account class를 확장합니다. 이 method는 주어진 금액을 self.balance에 더해야 합니다. 이전 lesson의 모든 내용(class 구조와 :new() constructor)을 그대로 유지하세요.
  • main.lua: Account module을 Require하고, 계정을 하나 만든 다음, 몇 번의 deposit을 수행하여 balance가 어떻게 변하는지 보여 주세요.

다음 세 개의 입력을 받습니다:

  1. 첫 번째 deposit 금액
  2. 두 번째 deposit 금액
  3. 세 번째 deposit 금액

main 파일에서 single account를 만들고 세 번의 deposit을 순서대로 Perform하세요. 각 deposit 후에 현재 balance를 새 줄에 print하세요.

예를 들어 입력이 100, 50, 25라면 출력은 다음과 같아야 합니다:

100
150
175

각 deposit이 이전 balance를 기반으로 누적되는 것을 확인하세요. 계정은 0에서 시작한 다음, 첫 번째 deposit 후 100, 두 번째 후 150, 세 번째 후 175로 증가합니다. :deposit() method가 이러한 누적을 수행합니다!

직접 해보기

-- Account 모듈 불러오기
local Account = require('Account')

-- 세 개의 입금액 읽기
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())

-- 단일 계정 생성
local account = Account:new()

-- 세 번의 입금을 수행하고 각각 후에 잔액 출력
-- TODO: deposit1을 입금하고 account.balance 출력

-- TODO: deposit2을 입금하고 account.balance 출력

-- TODO: deposit3을 입금하고 account.balance 출력

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

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