프로젝트 설정
Coddy Lua 여정의 객체 지향 프로그래밍 (Object Oriented Programming) 섹션에 포함된 레슨. 70개 중 55번째.
챌린지
쉬움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 컴파일러