Menu
Coddy logo textTech

프로젝트 설정

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

challenge icon

챌린지

쉬움

도형 관리 시스템(Shape Manager system)의 기초를 만들어 봅시다! 이 프로젝트는 다음 몇 차례의 레슨에 걸쳐 확장될 예정이므로, 먼저 기본 Shape 클래스를 포함한 깔끔한 파일 구조를 설정하는 것부터 시작하겠습니다.

코드를 정리하기 위해 두 개의 파일을 생성하게 됩니다:

  • Shape.lua: 프로토타입 패턴을 사용하여 기본 Shape 클래스를 정의합니다. 모든 도형은 name 속성(예: "Circle" 또는 "Rectangle")을 가집니다. 도형의 이름을 인자로 받는 :new(name) 생성자와 이름을 반환하는 :getName() 메서드를 포함하세요.
  • main.lua: 모듈을 require하고 도형 인스턴스를 생성하여 Shape 클래스를 실제로 동작하게 만듭니다. 입력으로부터 도형 이름을 읽고, 그 이름으로 Shape를 생성한 뒤, :getName()을 호출한 결과를 출력하세요.

이 기본 클래스는 향후 레슨에서 Rectangle 및 Circle과 같은 구체적인 도형들의 부모 클래스 역할을 하게 됩니다. 지금은 __index 설정, 생성자 패턴, 그리고 getter 메서드와 같은 클래스 구조를 올바르게 잡는 데 집중하세요.

입력: 도형 이름을 포함하는 한 줄의 문자열.

출력: :getName()에 의해 반환된 도형의 이름.

직접 해보기

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

-- 입력으로부터 도형 이름 읽기
local shapeName = io.read()

-- TODO: 주어진 이름으로 새로운 Shape 인스턴스 생성하기

-- TODO: 생성한 도형에서 :getName()을 호출한 결과 출력하기

Object Oriented Programming의 모든 레슨