문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
예약을 보내주셔서 감사합니다! 저희 팀 멤버 중 한 분이 곧 연락드리겠습니다.
코스 개요
Lua 입문
- Lua의 역사 개요
- Lua의 목표, 특징 및 지향하지 않는 방향
- Lua 관련 문서와 튜토리얼 리소스
- Lua 인터프리터 설치 방법
- LuaRocks의 설정 및 사용법
기본 구문 및 의미론
- 식별자에 대해서
- 주석과 블록 주석
- 전역 변수와 엄격 모드 설정
- 지역 변수의 사용법
- 독립형 프로그램 및 프로그램 인자
- 컴파일 단위, 표현식 및 세미콜론의 역할
데이터 타입과 자료구조
- 기본 타입: nil, 불리언, 숫자, 문자열
- 객체 타입: 함수, userdata, 스레드, 테이블
- 참조형 객체와 기본값의 차이점
- Lua에서 테이블이 중요한 이유
테이블의 유연성에 대한 소개
- 연관 배열로서의 테이블 활용법
- 숫자 인덱스를 가진 배열 및 시퀀스로서의 테이블
기본 제어 구조
- if, then, elseif, else, end 문법
- while 반복문 사용법
- repeat 반복문의 특징
- 간단한 for 반복문 활용법
오류 처리 방법
- 반환값과 예외 상황의 차이점
- 반환값을 예외로 변환하는 기술
- 예외를 반환값으로 처리하는 방법
- 오류 수준에 대해서
실습 예제 프로그램들
- 다항식 계산 구현법
- 너비 우선 탐색(BFS) 알고리즘 구현
- 기타 연습문제들
함수에 대한 심화 내용
- 명시적 인자 지정법
- 객체 지향 방식으로 함수 호출하기
- 클로저의 개념 및 사용법
- 커리(currying) 기법에 대해서
- 꼬리 호출(Tail Call) 활용 방법
- 다중 값 할당 및 반환 기술
- 가변 인수(Varargs) 사용법
이터레이터와 코루틴
- 일반 for 반복문의 구조
- 상태 없는 이터레이터와 상태를 가지는 이터레이터 비교
- 이터레이터와 코루틴 간의 차이점
메타테이블과 메타메서드
- 집합 클래스 구현 예제
- __tostring 메타메서드의 역할
- 산술 연산 관련 메타메서드들
- __index와 __newindex 메타메서드 설명
- __len 메타메서드에 대해서
모듈과 패키지 관리 방법
- 기존 모듈 활용법
- 자신만의 모듈 생성 과정
- 여러 모듈을 패키지 형태로 구성하는 법
객체 지향 프로그래밍 기법
- Lua에서 객체 지향 프로그래밍의 구성 요소들
- 실제 활용 예시들
더 고급한 언어 기능에 대한 토론
- 약한 테이블(Weak Tables) 사용법
- 종결자(Finalizers) 설정 방법
- 컴파일, 실행 시점 평가(eval), 데이터 로딩 기능에 대해서
요건
최소 하나 이상의 다른 프로그래밍 언어에 대한 친숙함과 프로그래밍 경험이 필요합니다. 선택 사항으로, 다른 스크립트 언어에 친숙하다면 Lua를 이해하는 데 도움이 됩니다.
14 시간