Lua 배우기
무료로 즐기는 인터랙티브 온라인 Lua 강의예요. 매 레슨마다 직접 Lua 코드를 작성하고, nil이 튀어나올 때 도와주는 AI 힌트, 그리고 완주하면 받는 무료 수료증까지 누리세요.
58,210+ 명의 codders가 등록함
- 초보자 환영
AI 코딩 도우미
실습 중심의 대화형 강의
모든 레슨에 음성 나레이션 제공
지식을 확인하는 퀴즈
무료 수료증
커리큘럼
섹션 1
Fundamentals
섹션 시작하기시작펼치기접기The first section in Lua for absolute beginners.소개
3 개 강의216- 01언어 소개챌린지
- 02Hello World!챌린지퀴즈
- 03주석퀴즈
변수와 데이터 타입
8 개 강의754- 01변수란 무엇인가요?챌린지퀴즈
- 02숫자챌린지퀴즈
- 03문자열챌린지퀴즈
- 04불리언챌린지퀴즈
- 05'nil' 값챌린지퀴즈
- 06type() 함수챌린지퀴즈
- 07명명 규칙퀴즈
- 08요약 - 캐릭터 프로필챌린지
연산자 1 산술 및 결합
6 개 강의635- 01산술 연산자챌린지퀴즈
- 02나머지 연산자챌린지퀴즈
- 03거듭제곱 연산자챌린지퀴즈
- 04문자열 결합챌린지퀴즈
- 05연산자 우선순위챌린지퀴즈
- 06요약 - 간단한 계산챌린지
연산자 2 관계 및 논리
8 개 강의651- 01동등 연산자챌린지퀴즈
- 02관계 연산자챌린지퀴즈
- 03'and' 연산자챌린지퀴즈
- 04'or' 연산자챌린지퀴즈
- 05'not' 연산자챌린지퀴즈
- 06단락 평가퀴즈
- 07Truthy와 Falsy 값퀴즈
- 08요약 - 간단한 논리챌린지
기본 출력
9 개 강의954- 01리터럴 출력하기챌린지퀴즈
- 02변수 출력하기챌린지퀴즈
- 03여러 값 출력하기챌린지퀴즈
- 04문자열과 변수 결합하기챌린지퀴즈
- 05tostring() 함수챌린지퀴즈
- 06입력챌린지퀴즈
- 07형변환챌린지퀴즈
- 08요약 - 상태 보고챌린지
- 09요약 - 120까지챌린지
프로젝트: 캐릭터 스탯 표시
프로젝트5 개 강의1- 01환영 메시지챌린지
- 02캐릭터 스탯 선언하기프로젝트
- 03기본 스탯 표시하기프로젝트
- 04Boolean 플래그 추가하기프로젝트
- 05최종 요약프로젝트
기본 조건문 논리
4 개 강의423- 01if-then 문챌린지퀴즈
- 02if-then-else 문챌린지퀴즈
- 03elseif 문챌린지퀴즈
- 04요약 - 보물 상자챌린지
문자열 조작 기초
6 개 강의637- 01string.len()챌린지퀴즈
- 02string.upper와 string.lower챌린지퀴즈
- 03string.sub()챌린지퀴즈
- 04string.rep()챌린지퀴즈
- 05string.find()챌린지퀴즈
- 06복습 - 사용자 이름 형식 지정챌린지
함수 기초
6 개 강의636- 01함수 선언하기챌린지퀴즈
- 02함수 호출하기챌린지퀴즈
- 03매개변수가 있는 함수챌린지퀴즈
- 04여러 개의 매개변수가 있는 함수챌린지퀴즈
- 05'return' 문챌린지퀴즈
- 06요약 - 넓이 계산기챌린지
테이블 파트 1: 리스트 스타일
8 개 강의752- 01테이블이란 무엇인가요?퀴즈
- 02테이블 생성하기챌린지퀴즈
- 03인덱스로 요소에 접근하기챌린지퀴즈
- 04인덱스로 요소 수정하기챌린지퀴즈
- 05길이 연산자 '#'챌린지퀴즈
- 06table.insert()챌린지퀴즈
- 07table.remove()챌린지퀴즈
- 08요약 - 파티원 관리하기챌린지
테이블 2: 딕셔너리 스타일
7 개 강의648- 01키-값 쌍퀴즈
- 02딕셔너리 스타일 테이블 생성하기챌린지퀴즈
- 03액세스 - 대괄호 표기법챌린지퀴즈
- 04점 표기법으로 액세스하기챌린지퀴즈
- 05쌍 추가 및 수정하기챌린지퀴즈
- 06nil로 쌍 제거하기챌린지퀴즈
- 07요약 - 아이템 속성챌린지
반복문의 기초
6 개 강의636- 01while 반복문챌린지퀴즈
- 02repeat-until 반복문챌린지퀴즈
- 03숫자형 for 반복문챌린지퀴즈
- 04증감값이 있는 for 반복문챌린지퀴즈
- 05'break' 문챌린지퀴즈
- 06요약 - 카운트다운챌린지
프로젝트: 간단한 포션 상점
프로젝트6 개 강의1- 01프로젝트 설정챌린지
- 02포션 추가하기프로젝트
- 03인벤토리 표시하기프로젝트
- 04전체 재고 가치 계산하기프로젝트
- 05특정 포션 찾기프로젝트
- 06포션 판매하기프로젝트
변수 범위 (Scope)
5 개 강의330- 01전역 변수퀴즈
- 02지역 변수챌린지퀴즈
- 03지역 변수를 사용하는 이유는?퀴즈
- 04범위와 블록챌린지퀴즈
- 05요약 - 스코프 퍼즐챌린지
최종 챌린지
3 개 강의3- 01복습 - 플레이어 차례챌린지
- 02복습 - 간단한 데이터베이스챌린지
- 03복습 - 짝수의 합챌린지
섹션 2
Logic & Flow
섹션 시작하기시작펼치기접기Develop problem-solving skills and create dynamic, interactive programs고급 테이블 순회
4 개 강의423- 01pairs()를 사용한 순회챌린지퀴즈
- 02ipairs()를 사용한 순회챌린지퀴즈
- 03pairs() vs. ipairs()챌린지퀴즈
- 04요약 - 캐릭터 시트챌린지
추가 Table 라이브러리 함수
5 개 강의430- 01table.concat()챌린지퀴즈
- 02Table 생성 및 unpack()챌린지퀴즈
- 03table.sort()챌린지퀴즈
- 04함수를 이용한 사용자 정의 정렬퀴즈
- 05요약 - 하이스코어 보드챌린지
고급 함수 개념
6 개 강의539- 01다중 값 반환퀴즈
- 02가변 인자 함수 (...)챌린지퀴즈
- 03일급 값으로서의 함수챌린지퀴즈
- 04익명 함수챌린지퀴즈
- 05클로저(Closure)란 무엇인가요?챌린지퀴즈
- 06요약 - 간단한 이벤트 핸들러챌린지
메타테이블 소개
8 개 강의757- 01메타테이블이란 무엇인가요?퀴즈
- 02setmetatable & getmetatable챌린지퀴즈
- 03__index 메타메소드챌린지퀴즈
- 04__newindex 메타메소드챌린지퀴즈
- 05__tostring 메타메소드챌린지퀴즈
- 06산술 메타메소드 파트 1챌린지퀴즈
- 07산술 메타메소드 파트 2챌린지퀴즈
- 08복습 - 읽기 전용 테이블챌린지
프로젝트: 텍스트 어드벤처 엔진
프로젝트8 개 강의1- 01프로젝트 설정: 방챌린지
- 02방 연결하기프로젝트
- 03플레이어 상태프로젝트
- 04게임 루프프로젝트
- 05사용자 입력 처리하기프로젝트
- 06플레이어 이동시키기프로젝트
- 07잘못된 이동 처리하기프로젝트
- 08출구 표시하기프로젝트
에러 처리
3 개 강의216- 01error() 함수퀴즈
- 02pcall()을 사용한 보호된 호출챌린지퀴즈
- 03요약 - 안전한 나눗셈챌린지
고급 문자열 조작
6 개 강의641- 01치환을 위한 string.gsub()챌린지퀴즈
- 02문자열 패턴 입문챌린지퀴즈
- 03string.find()챌린지퀴즈
- 04string.match()챌린지퀴즈
- 05string.gmatch()를 이용한 반복 처리챌린지퀴즈
- 06복습 - 로그 파일 파서챌린지
프로젝트: 연락처 목록
프로젝트7 개 강의1- 01프로젝트 설정챌린지
- 02메인 루프프로젝트
- 03연락처 추가하기프로젝트
- 04전체 연락처 목록 보기프로젝트
- 05연락처 검색하기프로젝트
- 06연락처 삭제하기프로젝트
- 07잘못된 입력 처리하기프로젝트
입문자를 위한 코루틴
7 개 강의638- 01코루틴이란 무엇인가요?퀴즈
- 02coroutine create와 resume챌린지퀴즈
- 03coroutine.yield()로 일시 중단하기챌린지퀴즈
- 04resume과 yield챌린지퀴즈
- 05코루틴 상태 확인하기챌린지퀴즈
- 06요약 - 숫자 생성기챌린지
- 07요약 - 벡터 수학챌린지
섹션 3
Object Oriented Programming
섹션 시작하기시작펼치기접기Discover how to organize code with classes, objects, and reusable structures'Self' 개념
5 개 강의532- 01함수를 포함한 테이블챌린지퀴즈
- 02명시적 'self'챌린지퀴즈
- 03콜론 구문챌린지퀴즈
- 04점(.) vs 콜론(:)챌린지퀴즈
- 05요약 - 점 이동하기챌린지
클래스 프로토타입 패턴
6 개 강의641- 01프로토타입 개념챌린지퀴즈
- 02__index를 이용한 연결챌린지퀴즈
- 03:new() 생성자챌린지퀴즈
- 04속성 초기화챌린지퀴즈
- 05독립적인 인스턴스챌린지퀴즈
- 06요약 - 자동차 공장챌린지
객체의 상태와 행동
7 개 강의748- 01인스턴스 변수챌린지퀴즈
- 02Getter 메서드챌린지퀴즈
- 03Setter 메서드챌린지퀴즈
- 04계산된 속성챌린지퀴즈
- 05문자열 포매팅챌린지퀴즈
- 06동등성 확인챌린지퀴즈
- 07요약 - 학생 성적챌린지
프로젝트: 디지털 뱅크
프로젝트7 개 강의1- 01프로젝트 설정챌린지
- 02입금 메서드프로젝트
- 03출금 메서드프로젝트
- 04잔액 조회프로젝트
- 05계좌 정보프로젝트
- 06송금 기능프로젝트
- 07최종 뱅크 테스트프로젝트
OOP에서의 연산자 오버로딩
5 개 강의531- 01객체 더하기챌린지퀴즈
- 02객체 빼기챌린지퀴즈
- 03객체 연결하기챌린지퀴즈
- 04객체 비교하기 (<, >)챌린지퀴즈
- 05요약 - 지갑 산술 연산챌린지
상속 기초
6 개 강의643- 01상속 설정챌린지퀴즈
- 02메서드 상속하기챌린지퀴즈
- 03생성자 확장하기챌린지퀴즈
- 04자식 메서드 추가하기챌린지퀴즈
- 05공통 요소와 고유 요소챌린지퀴즈
- 06요약 - 도형 계층 구조챌린지
다형성과 오버라이딩
6 개 강의640- 01메서드 오버라이딩챌린지퀴즈
- 02부모 메서드 호출하기챌린지퀴즈
- 03덕 타이핑챌린지퀴즈
- 04공통 인터페이스챌린지퀴즈
- 05타입 확인하기챌린지퀴즈
- 06요약 - 직원 역할챌린지
캡슐화
6 개 강의644- 01명명 규칙챌린지퀴즈
- 02프라이버시를 위한 클로저챌린지퀴즈
- 03클로저를 통한 접근챌린지퀴즈
- 04읽기 전용 테이블챌린지퀴즈
- 05검증 로직챌린지퀴즈
- 06요약 - 보안 금고챌린지
컴포지션과 믹스인
6 개 강의642- 01Has-A 관계챌린지퀴즈
- 02위임챌린지퀴즈
- 03단순한 믹스인챌린지퀴즈
- 04여러 믹스인 적용하기챌린지퀴즈
- 05믹스인 vs 상속챌린지퀴즈
- 06요약 - 로봇 조립챌린지
프로젝트: 도형 관리자
프로젝트7 개 강의1- 01프로젝트 설정챌린지
- 02Rectangle 클래스프로젝트
- 03Circle 클래스프로젝트
- 04둘레 메서드프로젝트
- 05도형 컬렉션프로젝트
- 06전체 넓이프로젝트
- 07도형 필터링프로젝트
디자인 패턴 (Lite)
5 개 강의532- 01팩토리 함수챌린지퀴즈
- 02싱글톤 테이블챌린지퀴즈
- 03이터레이터 패턴챌린지퀴즈
- 04옵저버 (리스너)챌린지퀴즈
- 05요약 - 로거 팩토리챌린지
최종 도전
4 개 강의4- 01요약 - 인벤토리 시스템챌린지
- 02요약 - 사용자 관리자챌린지
- 03요약 - 점수 추적기챌린지
- 04최종 OOP 점검챌린지
Lua 코스
브라우저에서 무료로 시작하는 실습형 Lua 코스.
입문자 챌린지 - 기초 개념 연습하기
인기여러분의 기초 코딩 지식을 테스트하고 프로그래밍 챌린지들을 해결해 보세요. 원하는 어떤 언어든 사용할 수 있습니다. 즐거운 코딩 되세요!
수료 시 인증서
- 20
- 20
코딩 문제
인기이 코스에서 제공하는 다양한 난이도의 연습 문제를 통해 여러분의 프로그래밍 문제 해결 능력을 시험해 보세요. 프로그래밍 언어의 기초 문법을 어느 정도 알고 있는 개발자를 위해 설계되었습니다.
수료 시 인증서
- 32
- 31
코딩 문제: 2편
이 코스에서 제공하는 다양한 난이도의 연습 문제를 통해 여러분의 프로그래밍 문제 해결 능력을 테스트해 보세요. 어떤 프로그래밍 언어든 기초 문법에 대한 사전 지식이 있는 분들을 위해 설계되었습니다. 이 코스는 '코딩 문제 1편'의 연장선상에 있습니다.
수료 시 인증서
- 25
- 24
스택 - 자료구조 시리즈 #1
이 코스에서는 스택 자료구조에 대해 배우고, 원하는 언어로 스택을 처음부터 직접 구현해 보며 다양한 코딩 챌린지를 연습합니다!
- 13
- 6
- 1
힙 & 우선순위 큐 - 자료구조 시리즈 #7
신규이 코스에서는 우선순위 큐의 핵심인 Heap 자료구조에 대해 배우고, 선호하는 언어로 MinHeap을 처음부터 직접 구현하며 다양한 코딩 챌린지를 연습합니다!
수료 시 인증서
- 14
- 6
- 1
별 찍기 부트캠프
프로그래밍 문제 해결 능력을 발휘하여 기초부터 복잡한 수준까지 다양한 별 패턴을 출력하는 방법을 배워보세요. 다양한 수준의 중첩 반복문, 조건문, 그리고 수학적 계산을 활용하는 법을 익힐 수 있습니다.
- 30
- 28
Coddy에서 Lua을 배우는 이유
- 브라우저에서 진짜 Lua 코드를 실행하세요. 설치할 Lua 인터프리터도, 툴체인 설정도 필요 없습니다. 각 레슨은 Lua 스크립트를 서버에서 실행해 결과를 바로 보여줍니다.
- 실제로 쓰이는 방식대로 배우는 Lua: 변수, 제어 흐름, 함수, 테이블(Lua의 유일한 핵심 자료구조), 문자열 처리, metatables와 OOP 패턴, 에러 처리. Roblox, Love2D, 또는 임베디드 스크립팅에 필요한 Lua 기초를 다집니다.
- AI 힌트는 정답을 그대로 알려주지 않으면서 Lua 스크립트 디버깅과 에러 메시지 읽는 법을 도와줘서, nil indexing이나 1부터 시작하는 배열 같은 흔한 실수가 오히려 배움의 순간이 됩니다.
- 과정을 마치면 무료 Lua 수료증을 드립니다. 그동안 만든 Roblox 게임, 모드, 임베디드 스크립팅 프로젝트와 함께 내세울 수 있는 확실한 증거가 됩니다.