본문 바로가기

[ C/ C++ 프로그래밍 ]/[ 루아 ]

[ 루아 ] 클래스 캡슐화

루아는  캡슐화를 위해 접근제한자 같은 장치를 따로 지원하지 않는다.
대신 루아에서는 함수를 숫자처럼 변수에 담을 있다는 점과 변수의 범위를 이용하는 방법으로 비슷하게 구현 가능하다

소스 다운





-- Error
--[[print(objTriangle.getWidth)__]]--

위의 부분을 주석을 해제하고 실행하면 에러가 발생한다. Figure 클래스의 GetWidth()는 바깥으로 드러나 있지 않은 내부 멤버 함수 즉, 캡슐화가 되어 있기
떄문이다. private으로 선언한 함수와 마찬가지가 되는 것이다.
방법은 함수의 선언을 지역변수에 할당하고, 이 지역변수에 접근할 수 있는 길을 열어 주느냐 아니냐에 따라 private, public 같은 접근 제한자의 기능을
구현할 수 있는 것이다.

출처 및 참고 : 예제로 배우는 프로그래밍 루아

'[ C/ C++ 프로그래밍 ] > [ 루아 ]' 카테고리의 다른 글

[ 루아 ] C++ 연동 - 1  (2) 2010.07.25
[ 루아 ] 코루틴  (1) 2010.07.24
[ 루아 ] 클래스 상속  (1) 2010.07.22
[ 루아 ] 클래스  (1) 2010.07.21
[ 루아 ] 테이블의 활용과 자료 구조  (1) 2010.07.21