Menu
Coddy logo textTech

프로젝트 설정

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

challenge icon

챌린지

쉬움

Shape Manager 시스템의 기반을 만들어 봅시다! 이 프로젝트는 앞으로 여러 레슨에 걸쳐 확장될 예정이므로, 먼저 기본 Shape 클래스를 포함한 깔끔한 파일 구조를 설정하겠습니다.

코드를 구성하기 위해 두 개의 파일을 만듭니다:

  • Shape.lua: 프로토타입 패턴을 사용하여 기본 Shape 클래스를 Define합니다. 모든 도형에는 name 속성이 있습니다(예: "Circle" 또는 "Rectangle"). 도형의 이름을 인수로 받는 :new(name) constructor와 이름을 반환하는 :getName() method를 포함하세요.
  • main.lua: module을 require하고 도형 instance를 생성하여 Shape 클래스를 실제로 사용합니다. input에서 도형 이름을 읽고, 해당 이름으로 Shape를 생성한 다음 :getName()을 calling한 result를 Print하세요.

이 기본 클래스는 다음 레슨에서 Rectangle 및 Circle과 같은 특정 도형의 부모 역할을 합니다. 지금은 클래스 구조를 올바르게 구성하는 데 집중하세요: __index 설정, constructor pattern, 그리고 getter method입니다.

입력: 도형 이름이 포함된 한 줄(문자열).

출력: :getName()이 반환하는 도형의 이름.

직접 해보기

-- Shape 모듈을 불러옵니다
local Shape = require('Shape')

-- 입력에서 도형 이름을 읽습니다
local shapeName = io.read()

-- TODO: 주어진 이름으로 새 Shape 인스턴스를 생성합니다

-- TODO: shape에서 :getName()을 호출한 결과를 출력합니다

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

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