Menu
Coddy logo textTech

요약 - 자동차 공장

Coddy Lua 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 70개 중 11번째.

challenge icon

챌린지

쉬움

이번 장에서 배운 모든 내용을 종합하여 완전한 Car 클래스를 만들어 봅시다! 각 자동차가 고유한 모델과 색상을 갖는 자동차 공장 시스템을 만들어, 적절한 모듈 구성과 독립적인 인스턴스를 시연하게 됩니다.

코드는 두 개의 파일로 구성됩니다:

  • Car.lua: 표준 프로토타입 패턴을 따라 Car 클래스를 정의합니다. 클래스에는 고유한 속성을 가진 자동차를 생성하는 :new(model, color) 생성자가 필요합니다. 각 자동차가 자신을 소개할 수 있도록 하는 :describe() 메서드를 포함하세요.
  • main.lua: Car 모듈을 불러오고(require) 여러 자동차 인스턴스를 생성하여 각 자동차가 독립적인 상태를 유지함을 증명합니다.

:describe() 메서드는 반드시 다음 형식으로 출력해야 합니다:

A [color] [model]

네 개의 입력을 받게 됩니다:

  1. 첫 번째 자동차의 모델
  2. 첫 번째 자동차의 색상
  3. 두 번째 자동차의 모델
  4. 두 번째 자동차의 색상

메인 파일에서 제공된 입력값을 사용하여 두 대의 자동차를 생성하고, 각 자동차가 별도의 줄에 자신을 설명하도록 하세요.

예를 들어, 입력값이 Sedan, blue, Truck, red라면 출력은 다음과 같아야 합니다:

A blue Sedan
A red Truck

각 자동차는 자신의 모델과 색상을 저장해야 하며, 이를 통해 클래스가 진정으로 독립적인 인스턴스를 생성함을 증명해야 합니다.

직접 해보기

-- Car 모듈 가져오기
local Car = require('Car')

-- 입력 읽기
local model1 = io.read()
local color1 = io.read()
local model2 = io.read()
local color2 = io.read()

-- TODO: Car:new()를 사용하여 두 개의 자동차 인스턴스 생성하기
-- TODO: 각 자동차에 대해 :describe()를 호출하여 설명 출력하기

Object Oriented Programming의 모든 레슨